Docker守护进程configuration – 打开dockerd的端口

我想打开TCP到docker守护进程,以便Jenkins可以根据它创build容器。

我得到了很多关于如何做到这一点的信息。 希望能得到最好的方法。

docker目标:

  • 通过TCP和本地unix套接字来收听。
  • 持续通过重新启动。
  • 主机特定的安全授权。 只允许来自特定主机的访问。 (可以做w / iptables)

这是一个Ubuntu Xenial主机。

当前Dockerd运行信息:

root@host:# ps -ef |grep dockerd root 1171 1 0 17:51 ? 00:00:04 /usr/bin/dockerd -H fd:// 

Dockerconfiguration片段(/etc/init/docker.conf):

 post-start script DOCKER_OPTS= DOCKER_SOCKET= if [ -f /etc/default/$UPSTART_JOB ]; then . /etc/default/$UPSTART_JOB fi if ! printf "%s" "$DOCKER_OPTS" | grep -qE -e '-H|--host'; then DOCKER_SOCKET=/var/run/docker.sock else DOCKER_SOCKET=$(printf "%s" "$DOCKER_OPTS" | grep -oP -e '(-H|--host)\W*unix://\K(\S+)' | sed 1q) fi if [ -n "$DOCKER_SOCKET" ]; then while ! [ -e "$DOCKER_SOCKET" ]; do initctl status $UPSTART_JOB | grep -qE "(stop|respawn)/" && exit 1 echo "Waiting for $DOCKER_SOCKET" sleep 0.1 done echo "$DOCKER_SOCKET is up" fi end script 

我应该怎么做呢?

在这个博客上find一个适用和干净的答案

脚步:

编辑此文件:

 sudo vi /lib/systemd/system/docker.service 

查找现有的ExecStart行:

 ExecStart=/usr/bin/docker daemon -H fd:// 

添加你想要的configuration:

 ExecStart=/usr/bin/docker daemon -H fd:// -H tcp://0.0.0.0:3272 

重新开始:

 systemctl daemon-reload sudo service docker restart 

之后,我的守护进程正在3272上听,准备出发了!