【发布时间】:2017-08-29 12:10:50
【问题描述】:
我尝试在我的 debian vm 上设置 docker。在弄清楚如何让 docker 读取默认/docker 文件后,我遇到了一个问题,它正在启动并且实际上是在我配置它的那个端口上。但它还没有完成启动过程。
操作系统详细信息:
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
/etc/default/docker:
DOCKER_OPTS="-H tcp://127.0.0.1:2375"
docker.service:
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target docker.socket firewalld.service
Wants=network-online.target
Requires=docker.socket
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
EnvironmentFile=-/etc/default/docker
ExecStart=/usr/bin/docker -d $DOCKER_OPTS -H fd://
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
服务码头工人状态
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: activating (start) since Tue 2017-08-29 13:51:04 CEST; 15min ago
Docs: https://docs.docker.com
Main PID: 883 (docker)
Tasks: 3 (limit: 4915)
Memory: 4.2M
CPU: 10ms
CGroup: /system.slice/docker.service
└─883 /usr/bin/docker -d -H tcp://127.0.0.1:2375 -H fd://
如您所见,它现在运行了 15 分钟,我不知道这是什么问题。
【问题讨论】:
-
终止服务并在终端运行
sudo dockerd -H tcp://127.0.0.1:2375 -H fd://,看看它是否有效 -
WARN[0000] [!] DON'T BIND ON ANY IP ADDRESS WITHOUT setting --tlsverify IF YOU DON'T KNOW WHAT YOU'RE DOING [!] no sockets found via socket activation: make sure the service was started by systemd -
改用
sudo dockerd -H tcp://127.0.0.1:2375 -
终于奏效了!谢谢!我试图从
docker.service文件中删除-H fd://,但看起来他仍然保留它 -
在我的例子中,我在 /var/lib/docker.我停止了服务,卸载了 docker,删除了那个文件夹,安装了 docker,它就可以工作了。
标签: docker debian virtual-machine