2016-06-27 7 views
2

Мой Dockerfile содержитDockerfile аргументы EntryPoint сценария в Докер перспективе

RUN xyz.sh --IP localhost 

и когда я даю команду Docker бег я хочу, чтобы вставить новый IP-адрес:

docker run -it IP 127.0.0.1 name:tag 

Как передать его как это?

Я попытался предоставить ENV в файле Docker и использовать -e в команде run, но ничего не работает.

ответ

4

RUN инструкции происходят во время сборки.

ENTRYPOINT и CMD инструкции выполняются во время выполнения.

Вы, вероятно, хотите что-то подобное в вашем Dockerfile:

.... 
ENTRYPOINT ["xyz.sh"] 

CMD ["--IP", "127.0.0.1"] 
.... 

Тогда вы можете работать с:

docker run -it some-image --IP 127.0.0.1

Аргументы после изображения перезаписать CMD инструкцию так, то он запускает ENTRYPOINT после чего следуют ваши аргументы.

+0

Привет Я получаю сообщение об ошибке - неизвестная инструкция: ENTRYPOINT при построении изображения –

+0

Отправьте свой полный файл Docker, пожалуйста, и вывод «docker info». – johnharris85

+0

, пожалуйста, проверьте вопрос, я добавил свой фактический файл Docker –