背景
安装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
网友评论