++++++++++++++++++++ # 9. Docker构建私有registry (默认端口5000) ## 9.1 启动registry mkdir -p /opt/registry docker run -d -p 5000:5000 --restart=always --name registry -v /opt/registry:/var/lib/registry registry -v /opt/registry:/var/lib/registry ## 将镜像数据,持久化到本地目录。 --restart=always ## 只要docker 服务启动,就启动这个容器。## 9.2 修改配置文件,让本地的docker 服务,知道有一个镜像服务器192.168.20.211 vim /etc/docker/daemon.json { "registry-mirrors": ["https://n8i4h3lp.mirror.aliyuncs.com"], "insecure-registries":["192.168.20.211:5000"] } ### 说明:"registry-mirrors": ["https://https://n8i4h3lp.mirror.aliyuncs.com"] ##镜像加速器 "registry-mirrors": ["https://uoggbpok.mirror.aliyuncs.com"] systemctl restart docker ## 9.3 制作本地镜像并push(推)到 192.168.20.211 镜像格式必须要是这样的:192.168.20.211:5000/dfsc/nginx:v1 镜像服务器地址:5000/项目名称/镜像名称:v1 先将本地镜像nginx:latest 重新tag docker images docker tag nginx:latest 192.168.20.211:5000/dfsc/nginx:v1 docker push 192.168.20.211:5000/dfsc/nginx:v1
## 9.4 异地进行pull镜像 重新准备一台 server ,安装docker ,在这台server 上 pull 镜像 修改配置文件: vim /etc/docker/daemon.json { "registry-mirrors": ["https://uoggbpok.mirror.aliyuncs.com"], "insecure-registries":["192.168.20.211:5000"] } 保存退出,重启docker 。 systemctl restart docker 再进行pull 镜像: docker pull 192.168.20.211:5000/dfsc/nginx:v1
## 9.5 本地仓库加安全认证 生成密码: yum install httpd-tools -y mkdir /opt/registry-auth/ -p ##生成密钥目录 htpasswd -Bbn dfsc abc.com123 > /opt/registry-auth/htpasswd ## 9.6 重新启动带有秘钥功能的registry容器 docker rm -f `docker ps -qa` ##删除所有容器,重新启一个容器。 docker run -d -p 5000:5000 -v /opt/registry-auth/:/auth/ -v /opt/registry:/var/lib/registry --name register-auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" registry
## 9.7 push镜像,需要进行login,测试密码验证功能。 docker push 192.168.20.211:5000/dfsc/centos69:v1
[root@docker ~]# docker login 192.168.20.211:5000 Username: dfsc Password:
docker push 192.168.20.211:5000/dfsc/centos69:v1
在另一台server 上进行pull 192.168.20.211:5000/dfsc/centos69:v1
## 10. 重启docker服务,容器全部退出的解决办法 vim /etc/docker/daemon.json 在{ } 里面的最后添加: "live-restore": true ##当你的docker 服务重启时,容器也自动重启。 ## 11. habor实现图形化register 修改hosts文件 vim /etc/hosts
mkdir -p /opt/harbor 1. 安装 第一步: 安装docker和docker-compose yum install -y docker-compose 第二步: 下载harbor-offline-installer-vxxx.tgz(离线版) 下载:(online 在线版,容量小,安装时候从网络下载,offline是离线版,比较大) cd /opt https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-online-installer-v1.8.1.tgz https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.1.tgz 也可以用IE下载,再上传。 第三步: 上传到/opt,并解压,修改harbor.yml配置文件 tar zxf harbor-online-installer-v1.8.1.tgz vim /opt/harbor/harbor.yml
或者改为IP
harbor.yml 说明: data_volume: /data #存储harbor数据的位置,安装的时候会自动创建 harbor_admin_password: Harbor12345 #管理员的初始密码,默认用户名/密码为admin/Harbor12345 database: password: root123 #用于db_auth的PostgreSQL数据库的root密码 jobservice: max_job_workers: 10 #最大同时工作者数 log: level: info #日志等级,debug, info, warning, error, fatal rotate_count: 50 rotate_size: 200M location: /var/log/harbor #存储日志的目录 http: port: 80 #http的端口号 https: #如果启用了公证,则必须设置为https port: 443 #https的端口号 certificate: /your/certificate/path #SSL证书的路径,仅在协议设置为https时应用 private_key: /your/private/key/path #SSL密钥的路径,仅在协议设置为https时应用 第四步: 执行prepare 脚本 (离线版,也可以执行这步。) cd harbor/ ./prepare #这一步,docker 会去网上下载goharbor/prepare 镜像。 第五步:运行安装脚本 cd /opt/harbor ./install.sh
![]()
默认用户名/密码为admin/Harbor12345
![]()
++++++++++++++++++++++++++++++++++++++ 2、使用方法 往harbor 推送镜像: 修改daemon.json vim /etc/docker/daemon.json
修改节点的docker配置文件 { "registry-mirrors": ["https://uoggbpok.mirror.aliyuncs.com"], "insecure-registries": ["192.168.20.211:5000","192.168.20.211"], "live-restore": true } systemctl restart docker 重启 docker 服务 3. 在habor中添加项目
往项目里面推送镜像:(帮助)
4. 制作镜像并上传habor 先给镜像打标签: docker tag centos:6.9 192.168.20.211/dfsc001/centos6.9:v1 登录harbor docker login 192.168.20.211
push 打标的镜像到harbor docker push 192.168.20.211/dfsc001/centos6.9:v1
![]()
5. 在节点中pull habor中的镜像 docker pull 192.168.20.211/dfsc001/centos6.9:v1 注意: 其他节点要去pull 192.168.20.211 上面的镜像,也需要修改docker 的配置文件 daemon.json vim /etc/docker/daemon.json { "registry-mirrors": ["https://uoggbpok.mirror.aliyuncs.com"], "insecure-registries": ["192.168.20.211:5000","192.168.20.211"], "live-restore": true } 保存,重启docker 服务。
## 9.2 修改配置文件,让本地的docker 服务,知道有一个镜像服务器192.168.20.211
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://n8i4h3lp.mirror.aliyuncs.com"],
"
## 9.4 异地进行pull镜像
## 9.5
## 9.7 push镜像,需要进行login,测试密码验证功能。
## 10. 重启docker服务,容器全部退出的解决办法
mkdir -p /opt/harbor

修改节点的docker配置文件
5. 在节点中pull habor中的镜像
docker pull 192.168.20.211/dfsc001/centos6.9:v1