续:docker 仓库数据传输加密

上一个实验:非加密的形式在企业中是不被允许的。

示例:【为****Registry 提供加密传输】
因为传输也是https,所以与ssh一样的加密。

这种方式就不用写这个了。

root@docker \~# cat /etc/docker/daemon.json
#{

"insecure-registries" : "http://172.25.254.5:5000"

#}
root@docker \~# systemctl restart docker
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xeu docker.service" for details.
root@docker \~#
root@docker \~# docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
root@docker \~# docker status docker
docker: 'status' is not a docker command.
See 'docker --help'
root@docker \~#
root@docker \~# systemctl status docker
× docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset:>
Active: failed

重启时遇到报错,停止后重启又好了

root@docker \~# systemctl stop docker
root@docker \~# systemctl restart docker
root@docker \~#

加密

生成认证 key 和证书

#建立目录,在目录里建立生成加密文件

必须要有解析,不然用不了;

root@docker \~# mkdir certs
root@docker \~#
root@docker \~# vim /etc/hosts
root@docker \~# tail -n 1 /etc/hosts
172.25.254.5 reg.folian.org #仓库名为 reg.folian.org
root@docker \~# openssl req -newkey rsa:4096 \
> -nodes -sha256 -keyout certs/folian.org.key \
> -addext "subjectAltName = DNS:reg.folian.org" \
> -x509 -days 365 -out certs/folian.org.crt

生成了证书和key

root@docker \~# ls certs/
folian.org.crt folian.org.key
root@docker \~#

建立仓库

root@docker \~# docker run -d -p 443:443 --restart=always \
> -v /root/certs:/certs \ #表示把本机的目录挂载到镜像的哪个目录下
> -e REGISTRY_HTTP_ADDR=0.0.0.0:443 \ # 监控端口443
> -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/folian.org.crt \
> -e REGISTRY_HTTP_TLS_KEY=/certs/folian.org.key registry

现在还进行不了镜像推送

建立:与仓库名一样

root@docker \~# mkdir -p /etc/docker/certs.d/reg.folian.org
root@docker \~# cp /root/certs/folian.org.crt /etc/docker/certs.d/reg.folian.org/ca.crt
root@docker \~# ls /etc/docker/certs.d/reg.folian.org/ca.crt
/etc/docker/certs.d/reg.folian.org/ca.crt
root@docker \~# systemctl restart docker

推镜像

root@docker \~# docker tag nginx:v2 reg.folian.org/nginx:v2
root@docker \~# docker push reg.folian.org/nginx:v2
The push refers to repository reg.folian.org/nginx
54a2c5fcea1c: Pushed
a8df99e45168: Pushed
174f56854903: Pushed
v2: digest: sha256:2d45824da0f28c4087c7a2c009cc4dba14efc637fdd8bef91fd49a1dcbda8b8c size: 947
root@docker \~# 成功!!

如果其他主机想使用这个镜像仓库,也必须得有镜像证书,而且位置必须是这样。

相关推荐
乘云数字DATABUFF2 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Patrick_Wilson3 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy3 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭3 天前
运行你的第一个Docker容器
后端·docker·容器
荣--4 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森4 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
宋均浩4 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
Avan_菜菜5 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
程序员老赵5 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1115 天前
LM Studio Docker 部署——本地大模型一键启动
docker