计算机知识分享网

【docker】docker打开远程tcp访问端口

关闭docker服务,然后编辑 vi /lib/systemd/system/docker.service
 vi /lib/systemd/system/docker.service

#注释掉下面的,添加一行tcp开启端口的配置
#-H代表指定docker的监听方式,这里是socket文件位置,也就是socket方式,2375就是tcp端口

#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
参考文件:
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target docker.socket firewalld.service containerd.service
Wants=network-online.target
Requires=docker.socket containerd.service

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
修改之后,重新加载系统服务配置文件。并且重启docker
systemctl daemon-reload
systemctl restart docker
可以查看端口是否打开监听中
ss -tnl | grep 2375
如果开启了防火墙,则需要放行2375端口
# 查看是否开放了2375端口
[root@localhost home]# firewall-cmd --zone=public --query-port=2375/tcp
no

# 开放端口
[root@localhost home]# firewall-cmd --zone=public --add-port=2375/tcp --permanent
success

# 重新加载防火墙
[root@localhost home]# firewall-cmd --reload
success
最后可以使用 idea docker 进行测试

#Docker