1.安装docker
现在打开不了docker官网,本人是在清华下载站下载的
Index of /docker-ce/linux/rhel/9/x86_64/stable/Packages/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
解压docker
错误:
原因:rhel9自带podman和runc,与docker冲突,需要卸载
2.开启docker
查看docker
2.拉取镜像
由于网络,环境等客观因素无法拉取镜像,我们可以换一种方式获取镜像
(1)获取到镜像包
可以在阿里云,清华站获取相应的镜像包
(2)载入镜像包到docker
注:这些是镜像包,不是源码包,不能解压
3.运行仓库
查看仓库是否正常
4.ssl加密
(1)创建目录
(2)增加本地解析
(3)创建证书
openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/lm.org.key -addext "subjectAltName = DNS:reg.lm.org" -x509 -days 365 -out certs/lm.org.crt
-nodes:表示用户登录时不需要密码
-sha256:加密方式
(4)启动registry仓库
docker run -d -p 443:443 --restart=always --name registry -v /root/certs:/certs -e REGISTRY_HTTP_ADDR=0.0.0.0:443 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/lm.org.crt -e REGISTRY_HTTP_TLS_KEY=/certs/lm.org.key registry
(5)打标签
(6)上传镜像至仓库
会出现错误,原因:docker没有加载证书
(7)重启服务
(8)重新上传镜像至仓库中
[root@harbor ~]# docker push reg.lm.org/nginx:v1
4.用户认证
(1)下载认证文件的软件包
(2)创建目录
(3)建立认证文件
-B:强制使用最安全的加密方式
-c:覆盖。第二次建立认证文件时,不要加,不然会覆盖之前的信息
(4)启动registry仓库
[root@harbor ~]# docker run -d -p 443:443 --restart=always --name registry -v /root/certs:/certs -e REGISTRY_HTTP_ADDR=0.0.0.0:443 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/lm.org.crt -e REGISTRY_HTTP_TLS_KEY=/certs/lm.org.key -v /root/auth:/auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd registry
(5)登录
(6)下线
docker logout reg.lm.org
5.搭建habor仓库
(1)解压
[root@harbor ~]# tar zxf harbor-offline-installer-v2.5.4.tgz
(2)复制配置文件
(3)修改配置文件
(5)将证书放入指定位置
(6)安装
注意:之前生成过名为registry的容器,最好删除了再安装,否则会失败,后面会无法登录
docker ps
docker rm -f registry
(7)重启容器编排
6.获取镜像包
7.加载镜像到docker中
8.打标签
[root@harbor mnt]# docker images | awk 'NR>1{system("docker tag "$1":"$2" reg.lm.org/library/"$1":"$2"")}'
9.上传镜像至harbor仓库
[root@harbor mnt]# docker images | awk '/reg.lm.org/{system("docker push "$1":"$2"")}'
失败。原因:没有登录仓库
登录仓库
注:之前登录过,需要下线后重新登录账号admin
docker logout reg.lm.org