1

我找到了一个关于通过 Packt 发布设置 docker remote api的视频。在视频中,我们被告知通过添加"-H tcp://127.0.0.1:4243 -H unix:///var/run/docker/sock"来更改 /etc/init/docker.conf 文件DOCKER_OPTS=。然后我们必须重新启动 docker 才能使更改生效。但是,在完成所有这些操作之后,我仍然无法在该端口处 curl localhost。这样做会返回:

vagrant@vagrant-ubuntu-trusty-64:~$ curl localhost:4243/_ping
curl: (7) Failed to connect to localhost port 4243: Connection refused 

我是 docker 的相对论新手,如果有人可以在这里帮助我,我将非常感激。

编辑:docker.conf

description "Docker daemon"

start on (filesystem and net-device-up IFACE!=lo)
stop on runlevel [!2345]
limit nofile 524288 1048576
limit nproc 524288 1048576

respawn

kill timeout 20

pre-start script
        # see also https://github.com/tianon/cgroupfs-mount/blob/master/cgroupfs-mount
        if grep -v '^#' /etc/fstab | grep -q cgroup \
                || [ ! -e /proc/cgroups ] \
                || [ ! -d /sys/fs/cgroup ]; then
                exit 0
        fi
        if ! mountpoint -q /sys/fs/cgroup; then
                mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroup /sys/fs/cgroup
        fi
        (
                cd /sys/fs/cgroup
                for sys in $(awk '!/^#/ { if ($4 == 1) print $1 }' /proc/cgroups); do
                        mkdir -p $sys
                        if ! mountpoint -q $sys; then
                                if ! mount -n -t cgroup -o $sys cgroup $sys; then
                                        rmdir $sys || true
                                fi
                        fi
                done
        )
end script

script
        # modify these in /etc/default/$UPSTART_JOB (/etc/default/docker)
        DOCKER=/usr/bin/$UPSTART_JOB
        DOCKER_OPTS="-H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock"
        if [ -f /etc/default/$UPSTART_JOB ]; then
                . /etc/default/$UPSTART_JOB
        fi
        exec "$DOCKER" daemon $DOCKER_OPTS
end script

# Don't emit "started" event until docker.sock is ready.
# See https://github.com/docker/docker/issues/6647
post-start script
        DOCKER_OPTS=
        if [ -f /etc/default/$UPSTART_JOB ]; then
"/etc/init/docker.conf" 60L, 1582C

EDIT2:输出ps aux | grep docker

vagrant@vagrant-ubuntu-trusty-64:~$ ps aux | grep docker
root       858  0.2  4.2 401836 21504 ?        Ssl  06:12   0:00 /usr/bin/docker daemon --insecure-registry 11.22.33.44
:5000
vagrant   1694  0.0  0.1  10460   936 pts/0    S+   06:15   0:00 grep --color=auto docker
4

1 回答 1

1

问题

根据ps aux|grep docker它的输出可以注意到,启动守护程序的选项与docker.conf文件中的选项不匹配。然后使用另一个文件来启动 docker 守护程序服务。

解决方案

要解决此问题,请跟踪包含"--insecure-registry 11.22.33.44:5000可能是/etc/default/dockeror/etc/init/docker.conf/etc/systemd/system/docker.serviceidk-where-else 的选项的文件,并使用所需的选项进行相应的修改。

然后重新启动守护程序,您就可以开始了!

于 2016-04-11T12:03:26.773 回答