7、CentOS7 安装Docker之扩展(设置守护进程对外开放)

设置守护进程对外开放

 

虽然默认下你的Docker daemon只允许在本机访问,但有时候也有充足理由让其他人访问。你可能有什么问题想让其他人远程调试,或者你可能想允许DevOps工作流来启动主机上的一个进程。

 

 

问题

你想对其他人开放Docker服务器的访问权限

方法

以开放的TCP地址启动Docker daemon

讨论

以下图是这种技术的工作原理.

 

 

 

在你开放Docker daemon之前,首先得关闭它。如何关闭它取决于你的系统,如果你不清楚,先执行如下命令:

$ sudo service docker stop

如果你得到如下信息:
The service command supports only basic LSB actions (start, stop, restart,
try-restart, reload, force-reload, status). For other actions, please try
to use systemctl.
表示你的系统启动管理是基于systemctl的,尝试如下命令:

$ systemctl stop docker

如果这个可行,那么下面的命令将没有任务输出:

ps -ef | grep -E 'docker (-d|daemon)\b' | grep -v grep

一旦Docker daemon已经停止,你就可以使用以下的命令手动重启来打开对外用户的访问:

docker daemon -H tcp://0.0.0.0:2375

此命令以守护进程启动docker,使用-H参数为定义主机服务器,使用TCP协议,监听所有IP(使用0.0.0.0),开放docker服务器标准端口2375。如果Docker提示daemon是一个无效子命令,尝试使用旧的-d参数。
之后你可以在外面使用如下命令来访问docker:

$ docker -H tcp://<your host's ip>:2375

注意你在本机也使用用此方法来连接docker,因为docker已经不再监听默认的地址。
如果你想让此更改永久生效(即使重启后),虽然更改docker的配置文件:
系统Ubuntu / Debian / Gentoo配置文件为:/etc/default/docker
OpenSuse / CentOS / Red Hat配置文件为:/etc/sysconfg/docker
在配置文件中找到DOCKER_OPTS,设置为以上的启动参数,如DOCKER_OPTS=”daemon -H tcp://0.0.0.0:2375″
如果你的系统使用的是systemd配置文件,那么在/usr/lib/systemd/system/service/docker中找到ExecStart行,设置为ExecStart=/usr/bin/docker daemon -H tcp://0.0.0.0:2375

转载地址:https://www.centos.bz/2016/11/open-your-docker-daemon-to-the-world/

猜你喜欢

转载自blog.csdn.net/weixin_41515615/article/details/82832237