docker run ubuntu / bin / bash vs docker run ubuntu

Я нашел другой способ сделать это:

Установить пакет xautomation Запустить эту команду: xte 'keydown Alt_L' 'key F2' 'keyup Alt_L'

Спасибо htorque за подсказку «ввод клавиатуры / мыши» [!d7 ]

3
задан 23 July 2017 в 11:02

4 ответа

Изображения докеров могут указывать, что по умолчанию будет выполняться определенная команда, используя директиву CMD в файле Docker. И:

Если пользователь указывает аргументы docker run, они переопределяют значение по умолчанию, указанное в CMD.

Как это бывает, команда по умолчанию, указанная для директивы CMD в файле Dockerfile , фактически является bash:

CMD ["/bin/bash"]

Итак, для конкретного случая изображения Ubuntu, docker run ... ubuntu /bin/bash ничем не отличается от docker run ... ubuntu.

Конечно, это всегда должно быть истинным. Файл Docker для механизма базы данных может запускать команду базы данных по умолчанию. В этом случае, если вам нужна интерактивная оболочка, вам нужно будет docker run ... /bin/bash.

В общем, вы не можете предположить, что docker run предоставит вам интерактивную оболочку. Безопаснее указывать /bin/bash, если вам нужна оболочка.

2
ответ дан 22 May 2018 в 20:16

Изображения докеров могут указывать, что по умолчанию будет выполняться определенная команда, используя директиву CMD в файле Docker. И:

Если пользователь указывает аргументы docker run, они переопределяют значение по умолчанию, указанное в CMD.

Как это бывает, команда по умолчанию, указанная для директивы CMD в файле Dockerfile , фактически является bash:

CMD ["/bin/bash"]

Итак, для конкретного случая изображения Ubuntu, docker run ... ubuntu /bin/bash ничем не отличается от docker run ... ubuntu.

Конечно, это всегда должно быть истинным. Файл Docker для механизма базы данных может запускать команду базы данных по умолчанию. В этом случае, если вам нужна интерактивная оболочка, вам нужно будет docker run ... /bin/bash.

В общем, вы не можете предположить, что docker run предоставит вам интерактивную оболочку. Безопаснее указывать /bin/bash, если вам нужна оболочка.

2
ответ дан 18 July 2018 в 09:50

Если вы не предоставите команду, которая в вашем случае /bin/bash, при использовании -ti (i интерактивного терминала t) вы будете прикреплены к программе по умолчанию, которая была определена как выполняется при использовании команды run в DockerFile.

Например, если изображение запускает веб-сервер на переднем плане, то после использования run без /bin/bash вы увидите журналы этого веб-сервера (программа по умолчанию, которая была запущена).

При указании команды вы говорите, что мне все равно, что происходит или работает на изображении, дайте мне интерактивный терминал

В Ubuntu по умолчанию команда bash, и если вы не предоставляете -ti, контейнер будет остановлен сразу после запуска. потому что он запускал bash в неинтерактивном режиме, и после его завершения контейнер больше не имеет никакого отношения.

0
ответ дан 22 May 2018 в 20:16

Если вы не предоставите команду, которая в вашем случае /bin/bash, при использовании -ti (i интерактивного терминала t) вы будете прикреплены к программе по умолчанию, которая была определена как выполняется при использовании команды run в DockerFile.

Например, если изображение запускает веб-сервер на переднем плане, то после использования run без /bin/bash вы увидите журналы этого веб-сервера (программа по умолчанию, которая была запущена).

При указании команды вы говорите, что мне все равно, что происходит или работает на изображении, дайте мне интерактивный терминал

В Ubuntu по умолчанию команда bash, и если вы не предоставляете -ti, контейнер будет остановлен сразу после запуска. потому что он запускал bash в неинтерактивном режиме, и после его завершения контейнер больше не имеет никакого отношения.

0
ответ дан 18 July 2018 в 09:50

Другие вопросы по тегам:

Похожие вопросы: