续: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 ~]# 成功!!

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

相关推荐
AI青年志2 分钟前
【服务器】linux服务器管理员查看用户使用内存情况
linux·运维·服务器
dessler41 分钟前
Docker-run命令详细讲解
linux·运维·后端·docker
群联云防护小杜1 小时前
如何给负载均衡平台做好安全防御
运维·服务器·网络·网络协议·安全·负载均衡
PyAIGCMaster1 小时前
ubuntu装P104驱动
linux·运维·ubuntu
奈何不吃鱼1 小时前
【Linux】ubuntu依赖安装的各种问题汇总
linux·运维·服务器
aherhuo1 小时前
kubevirt网络
linux·云原生·容器·kubernetes
zzzhpzhpzzz2 小时前
Ubuntu如何查看硬件型号
linux·运维·ubuntu
蜜獾云2 小时前
linux firewalld 命令详解
linux·运维·服务器·网络·windows·网络安全·firewalld
陌北v12 小时前
Docker Compose 配置指南
运维·docker·容器·docker-compose
只会copy的搬运工2 小时前
Jenkins 持续集成部署——Jenkins实战与运维(1)
运维·ci/cd·jenkins