centos7 docker开启认证的远程端口2376配置

  • docker开启2375会存在安全漏洞

暴露了2375端口的Docker主机。因为没有任何加密和认证过程,知道了主机IP以后,,任何人都可以管理这台主机上的容器和镜像,以前贪图方便,只开启了没有认证的docker2375端口,后来被黑客通过这个端口推送了一个挖矿木马病毒的镜像并运行,所以非测试开发环境的话,还是要开启需要安全认证的tcp端口

1、安装docker

yum install -y docker

2、 docker 生成 CA 证书

我们需要在远程 docker 服务器生成 CA 证书,服务器证书,服务器密钥

参考这篇文章

docker的认证 证书生成流程:

3、编辑docker文件
复制代码
/usr/lib/systemd/system/docker.service   或 /lib/systemd/system/docker.service

vim /usr/lib/systemd/system/docker.service

4、追加证书路径

在ExecStart属性后面追加(我们刚刚自己生成的证书路径)

(配置 docker 使用 TLS 认证并监听 tcp 端口)

复制代码
--tlsverify \
--tlscacert=/etc/docker/ca.pem \
--tlscert=/etc/docker/server-cert.pem \
--tlskey=/etc/docker/server-key.pem \
-H tcp://0.0.0.0:2376 \
-H unix:///var/run/docker.sock \
5、重新加载docker配置后重启docker服务
复制代码
systemctl daemon-reload
systemctl restart docker

用netstat -tunlp查看是否存在2376端口,可以看到配置是否生效

注意:

复制代码
一开始在没有加上这句-H unix:///var/run/docker.sock \,就会报下面的异常,加上重启docker就可以了
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
相关推荐
Sheffield3 天前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
Sheffield3 天前
Alpine是什么,为什么是Docker首选?
linux·docker·容器
马艳泽4 天前
win10下运行Start Broker and Proxy报错解决
docker
用户13573999256604 天前
Windows 从 0 搭建 WSL2 原生 AI 开发环境:Codex + Docker + VSCode
docker
vi_h4 天前
在 macOS 上通过 Docker 安装并运行 Ollama(详细可执行教程)
macos·docker·ollama
黑心老魔5 天前
通过 Docker 创建开发环境
docker·开发环境
冬奇Lab5 天前
一天一个开源项目(第41篇):Workout.cool - 现代化开源健身教练平台,训练计划与进度追踪
docker·开源·资讯
天朝八阿哥5 天前
使用Docker+vscode搭建离线的go开发调试环境
后端·docker·visual studio code
阿虎儿6 天前
Docker安装(非sudo用户可用)
docker
fetasty8 天前
rustfs加picgo图床搭建
docker