首先,centos中docker的配置不同于ubuntu,在centos中没有/etc/default/docker,另外在centos7中也没有找到/etc/sysconfig/docke这个配置文件。

参考了网上的文章,配置好了centos7的docker远程访问,配置过程如下。


在作为docker远程服务的centos7机器中配置:

1、在/usr/lib/systemd/system/docker.service,配置远程访问。主要是在[Service]这个部分,加上下面两个参数

# vim /usr/lib/systemd/system/docker.service
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock


2、docker重新读取配置文件,重新启动docker服务

# systemctl daemon-reload

# systemctl restart docker

3、查看docker进程,发现docker守护进程在已经监听2375的tcp端口

# ps -ef|grep docker
root     26208     1  0 23:51 ?        00:00:00 /usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
4、查看系统的网络端口,发现tcp的2375端口,的确是docker的守护进程在监听

# netstat -tulp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN      886/sshd            
tcp6       0      0 [::]:2375               [::]:*                  LISTEN      26208/dockerd    

5、这里拿本地的ubuntu做客户端,来访问阿里云上centos7的docker服务,访问成功。139.129.130.123是阿里云上的centos7机器公网ip。

$ sudo docker -H tcp://139.129.130.123:2375 images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               5.6                 f8fe303bcac2        4 days ago          298MB 

注意:生产环境最好将这个关掉,或者做好安全的配置


参考文章:

https://forums.docker.com/t/expose-the-docker-remote-api-on-centos-7/26022/2

https://docs.docker.com/engine/security/https/

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐