Запустите 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
,