Centos7系统docker开启远程访问

背景

安装docker后,需要开启docker的远程访问,本文是介绍Centos7系统如何开启远程访问。

具体步骤

1、在/usr/lib/systemd/system/docker.service,配置远程访问。主要是在[Service]这个部分,将其中ExecStart=/usr/bin/dockerd-current替换为:

[root@TK-PMS-187 ~]# vim /usr/lib/systemd/system/docker.service 

ExecStart=/usr/bin/dockerd-current -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock -H tcp://0.0.0.0:7654 \
          --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
          --default-runtime=docker-runc \
          --exec-opt native.cgroupdriver=systemd \
          --userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
          --seccomp-profile=/etc/docker/seccomp.json \

(此处默认2375为主管理端口,unix://var/run/docker.sock用于本地管理,7654是备用端口)
2、将管理地址写入/etc/profile

[root@TK-PMS-187 ~]# echo 'export DOCKER_HOST=tcp://0.0.0.0:2375' >> /etc/profile
[root@TK-PMS-187 ~]# source /etc/profile

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

[root@TK-PMS-187 ~]# systemctl daemon-reload
[root@TK-PMS-187 ~]# systemctl restart docker

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

[root@TK-PMS-187 ~]# ps -ef | grep docker 
root     27152     1  2 19:27 ?        00:00:00 /usr/bin/dockerd-current -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock -H tcp://0.0.0.0:7654 
--add-runtime docker-runc=/usr/libexec/docker/docker-runc-current 
--default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd 
--userland-proxy-path=/usr/libexec/docker/docker-proxy-current 
--seccomp-profile=/etc/docker/seccomp.json --selinux-enabled --log-
driver=journald --signature-verification=false --storage-driver overlay2

5、查看系统的网络端口,发现tcp的2375端口的确是docker的守护进程在监听

[root@TH-PMS-187 ~]# netstat -tulp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp6       0      0 [::]:2375               [::]:*                  LISTEN      1150/dockerd-curren        

6、拿本地linux做客户端,来访问服务器上的centos7的docker服务,访问成功。192.168.1.187是服务器上centos机器的ip。

[root@localhost ~]# docker -H tcp://192.168.1.187:2375 images
REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
docker.io/jdeathe/centos-ssh   latest              563e45ee6e12        3 weeks ago         219 MB
docker.io/hello-world          latest              e38bc07ac18e        4 weeks ago         1.85 kB

推荐阅读更多精彩内容