docker, les volumes de conteneurs d'accès au répertoire dans CMD instruction
Question
docker, les volumes de conteneurs d'accès au répertoire dans CMD instruction
$ sudo docker run -d --name ext -v /external busybox /bin/sh
et
run.sh
#!/bin/bash
if [[ -f "/external" ]]
then
echo 'success!'
else
echo 'Sorry, I can't find /external...'
fi
et
Dockerfile
FROM ubuntu:14.04
MAINTAINER newbie
ADD run.sh /run.sh
RUN chmod +x /run.sh
CMD ["bash", "/run.sh"]
et
$ sudo docker build -t app .
et
$ sudo docker run -d --volumes-from ext app
ac57afb95f923eeffd28e7d9d9cb76cb1b7699ebd
Donc
$ sudo docker logs ac57afb95f923eeffd28e7d9d9cb76cb1b7699ebd
Sorry, I can't find /external...
Ma question est,
Comment puis-je accéder à /external
répertoire run.sh
dans CMD
l'instruction
impossible?
Merci~
La solution
modifier votre run.sh
-f
est de vérifier l'existence du fichier.dans ce cas, l'utilisation -d
vérifier répertoire existe.
Vérifier si un répertoire existe dans un script shell
d'ailleurs si vous voulez faire uniquement le volume du conteneur, n'a pas besoin d'ajouter -d
, /bin/sh
volume de conteneurs exécuter la commande modifier comme ceci
$ sudo docker run --name ext -v /external busybox