docker 开启 tcp 端口

发布于:2024-05-13 ⋅ 阅读:(126) ⋅ 点赞:(0)

前言:查了很多网上资料  都说要修改daemons,json  完全不管用,而且还导致添加

{

“host”:["tcp://0.0.0.0:2375","unix:///var/lib/docker.sock"]

}

后,docker restart 失败,浪费了不少时间 !!!

下边的方式是测试没问题的,记录分享一下。

默认安装的Docker服务是不支持远程连接的,开启TCP端口后可以进行远程连接Docker

1、操作系统环境:ubuntu 18.4

2、编辑 docker 服务

注释原有 ExecStart 参数,新增 ExecStart 参数,见加红色字体。

注意是在“/lib/systemd/system/”目录下,网上很多人路径是“/usr/lib/systemd/”进去你会发现并没有system目录何况docker.service了

[root@localhost home]# vi /lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[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
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375

ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

-H代表指定docker的监听方式,这里是socket文件位置,也就是socket方式,2375就是tcp端口

 

3、保存退出

4、重新加载系统服务配置文件

systemctl daemon-reload

5、重启 docker 服务

systemctl restart docker

 

6、查看监听端口

netstat -nplt | grep 2375


网站公告

今日签到

点亮在社区的每一天
去签到