Docker-Container-Volumes aus dem Verzeichniszugriff in der CMD-Anweisung
Frage
Docker-Container-Volumes aus dem Verzeichniszugriff in der CMD-Anweisung
$ sudo docker run -d --name ext -v /external busybox /bin/sh
Und
run.sh
#!/bin/bash
if [[ -f "/external" ]]
then
echo 'success!'
else
echo 'Sorry, I can't find /external...'
fi
Und
Docker-Datei
FROM ubuntu:14.04
MAINTAINER newbie
ADD run.sh /run.sh
RUN chmod +x /run.sh
CMD ["bash", "/run.sh"]
Und
$ sudo docker build -t app .
Und
$ sudo docker run -d --volumes-from ext app
ac57afb95f923eeffd28e7d9d9cb76cb1b7699ebd
Also
$ sudo docker logs ac57afb95f923eeffd28e7d9d9cb76cb1b7699ebd
Sorry, I can't find /external...
Meine Frage ist,
Wie kann ich darauf zugreifen? /external
Verzeichnis in run.sh
In CMD
Anweisung
unmöglich?
Danke~
Lösung
Ändern Sie Ihre run.sh
-f
Es wird geprüft, ob die Datei vorhanden ist.in diesem Fall verwenden -d
Überprüfen Sie, ob das Verzeichnis vorhanden ist.
Überprüfen Sie, ob in einem Shell-Skript ein Verzeichnis vorhanden ist
Wenn Sie außerdem nur einen Volumencontainer erstellen möchten, müssen Sie ihn nicht hinzufügen -d
, /bin/sh
Ändern Sie den Befehl zum Ausführen des Volume-Containers wie folgt
$ sudo docker run --name ext -v /external busybox