janela de encaixe recipiente de volumes a partir do access no CMD instrução

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

  •  20-12-2019
  •  | 
  •  

Pergunta

janela de encaixe recipiente de volumes a partir do access no CMD instrução

$ sudo docker run -d --name ext -v /external busybox /bin/sh

e

run.sh

#!/bin/bash

if [[ -f "/external" ]]
then
    echo 'success!'
else
    echo 'Sorry, I can't find /external...'
fi

e

Dockerfile

FROM ubuntu:14.04

MAINTAINER newbie

ADD run.sh /run.sh

RUN chmod +x /run.sh

CMD ["bash", "/run.sh"]

e

$ sudo docker build -t app .

e

$ sudo docker run -d --volumes-from ext app ac57afb95f923eeffd28e7d9d9cb76cb1b7699ebd

Então,

$ sudo docker logs ac57afb95f923eeffd28e7d9d9cb76cb1b7699ebd Sorry, I can't find /external...

A minha pergunta é,

Como posso acessar /external diretório no run.sh no CMD instrução

impossível?

Obrigado~

Foi útil?

Solução

modificar o seu run.sh

-f é verificar se o arquivo existe.neste caso, utilizar -d seleção para o diretório existe.

Verificar se um diretório existe em um script de shell

além disso, se você quiser fazer apenas o volume do recipiente, não necessita de adicionar -d, /bin/sh volume do recipiente de executar o comando a mudança como este

$ sudo docker run --name ext -v /external busybox

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top