Запустите Docker в режиме демона

Я выпустил эту команду

демон sudo docker -H unix:///var/run/docker.sock -H tcp://xxxx:8400 -H tcp:// ггггг:2375 &

Работает нормально. но это не возвращение к моему консольному клиенту. это не окончание команды.

WARN[0000] /!\ DON'T BIND ON ANY IP ADDRESS WITHOUT setting -tlsverify IF YOU DON'T KNOW WHAT YOU'RE DOING /!\ 
WARN[0000] /!\ DON'T BIND ON ANY IP ADDRESS WITHOUT setting -tlsverify IF YOU DON'T KNOW WHAT YOU'RE DOING /!\ 
INFO[0000] [graphdriver] using prior storage driver "aufs" 
INFO[0000] Graph migration to content-addressability took 0.00 seconds 
INFO[0000] Firewalld running: false                     
INFO[0000] Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address 
WARN[0000] Your kernel does not support swap memory limit. 
INFO[0000] Loading containers: start.                   
.
INFO[0000] Loading containers: done.                    
INFO[0000] Daemon has completed initialization          
INFO[0000] Docker daemon                                 commit=20f81dd execdriver=native-0.2 graphdriver=aufs version=1.10.3
INFO[0000] API listen on 172.31.16.21:2375              
INFO[0000] API listen on /var/run/docker.sock           
INFO[0000] API listen on 172.31.16.21:8400 

на этот раз я могу получить к нему доступ из внешнего клиента. но если убить эту консоль. Я не могу получить к нему доступ со стороны клиента.

какое-нибудь решение для этого?

не знаю, почему докер становится таким сложным для начинающих:)

1 ответ

Прежде чем я скажу что-нибудь еще, я должен предостеречь вас от запуска демона Docker, такого как прослушивание соединений TCP вместо соединений с сокетами Unix. Вы, вероятно, не будете слушать меня, но когда у вас будет время, вы должны прочитать предупреждения в документации, которую я собираюсь связать, потому что это опасно. Итак, в любом случае... Вы запускаете демон docker, когда вам нужно изменить параметры инициализации для docker. В документации подробно описано, какой файл вы должны редактировать, чтобы изменить конфигурацию демона Docker. Имейте в виду, что дублирование параметров в вашей команде запуска и в файле конфигурации будет означать, что демон не запустится. Так что если вы измените daemon.json файл, а также попробуйте запустить демон с этими параметрами командной строки, ваш сервер будет игнорировать их обоих. Файл для редактирования /etc/docker/daemon.json, и вы должны установить эти параметры так:

{
  hosts: [
    'unix:///var/run/docker.sock',
    'tcp://xxxx:8400',
    'tcp://yyyyy:2375'
  ]
}

После того, как вы отредактировали этот файл, вы должны перезапустить ваш демон docker:

sudo service docker restart

Или, если вы используете systemd:

sudo systemctl restart docker.service

Также основная проблема, с которой вы столкнулись, связана с запуском процесса-демона внутри терминала. В будущем посмотрите на nohup команда для запуска процесса внутри вашего терминала и поддержания его в рабочем состоянии после закрытия терминала. Вы можете прочитать больше на man nohup,

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