docker, les volumes de conteneurs d'accès au répertoire dans CMD instruction

StackOverflow https://stackoverflow.com//questions/25000372

  •  20-12-2019
  •  | 
  •  

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~

Était-ce utile?

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top