docker容器镜像加速器及本地容器镜像仓库
一、容器镜像加速器
由于国内访问国外的容器镜像仓库速度比较慢,因此国内企业创建了容器镜像加速器,以方便国内用户使用容器镜像。
1.1 获取阿里云容器镜像加速地址
1.2 配置docker daemon使用加速器
添加daemon.json配置文件
{
"registry-mirrors" : ["https://s27w6kze.mirror.aliyuncs.com" ]
}
二、容器镜像仓库
2.1 docker hub
2.1.1 注册
准备邮箱及用户ID
2.1.2 登录
2.1.3 创建容器镜像仓库
2.1.4 在本地登录Docker Hub
默认可以不添加docker hub容器镜像仓库地址
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: dockersmartmsb
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded 成功
登出
Removing login credentials for https://index.docker.io/v1/
2.1.5 上传容器镜像
在登录Docker Hub主机上传容器镜像,向全球用户共享容器镜像。
为容器镜像重新打标记
原始容器镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 5 d0da3dc9764 4 months ago 231 MB
重新为容器镜像打标记
重新打标记后容器镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
dockersmartmsb/centos v1 5 d0da3dc9764 4 months ago 231 MB
centos latest 5 d0da3dc9764 4 months ago 231 MB
上传容器镜像至docker hub
The push refers to repository [docker.io /dockersmartmsb /centos ]
74 ddd0ec08fa: Mounted from library/centos
v1: digest: sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc size: 529
2.1.6 下载容器镜像
在其它主机上下载
下载
v1: Pulling from dockersmartmsb/centos
a1d0c7532777: Pull complete
Digest: sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc
Status: Downloaded newer image for dockersmartmsb/centos:v1
docker.io/dockersmartmsb/centos:v1
查看下载后容器镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
dockersmartmsb/centos v1 5 d0da3dc9764 4 months ago 231 MB
2.2 harbor
2.2.1 获取 docker compose二进制文件
查看已下载二进制文件
docker-compose-Linux-x86_64
移动二进制文件到/usr/bin目录,并更名为docker-compose
安装完成后,查看docker-compse 版本
docker-compose version 1.25 .0 , build 0 a186604
docker-py version: 4.1 .0
CPython version: 3.7 .4
OpenSSL version: OpenSSL 1.1 .0 l 10 Sep 2019
2.2.2 获取harbor安装文件
查看已下载的离线安装包
harbor-offline-installer-v2 .4.1 .tgz
2.2.3 获取TLS文件
查看准备好的证书
kubemsb.com_nginx.zip
解压证书压缩包文件
Archive: kubemsb.com_nginx.zip
Aliyun Certificate Download
inflating: 6864844 _kubemsb.com.pem
inflating: 6864844 _kubemsb.com.key
查看解压出的文件
6864844 _kubemsb.com.key
6864844 _kubemsb.com.pem
2.2.4 修改配置文件
移动证书到harbor目录
查看harbor目录
6864844 _kubemsb.com.key 6864844 _kubemsb.com.pem common.sh harbor.v2.4.1 .tar.gz harbor.yml.tmpl install.sh LICENSE prepare
修改配置文件内容
hostname: www.kubemsb.com 修改为域名,而且一定是证书签发的域名
http:
port: 80
https:
port: 443
certificate: /root/harbor/6864844 _kubemsb.com.pem 证书
private_key: /root/harbor/6864844 _kubemsb.com.key 密钥
harbor_admin_password: 12345 访问密码
......
2.2.5 执行预备脚本
输出
prepare base dir is set to /root/harbor
Clearing the configuration file: /config/portal/nginx.conf
Clearing the configuration file: /config/log/logrotate.conf
Clearing the configuration file: /config/log/rsyslog_docker.conf
Generated configuration file: /config/portal/nginx.conf
Generated configuration file: /config/log/logrotate.conf
Generated configuration file: /config/log/rsyslog_docker.conf
Generated configuration file: /config/nginx/nginx.conf
Generated configuration file: /config/core/env
Generated configuration file: /config/core/app.conf
Generated configuration file: /config/registry/config.yml
Generated configuration file: /config/registryctl/env
Generated configuration file: /config/registryctl/config.yml
Generated configuration file: /config/db/env
Generated configuration file: /config/jobservice/env
Generated configuration file: /config/jobservice/config.yml
Generated and saved secret to file: /data /secret/keys/secretkey
Successfully called func: create_root_cert
Generated configuration file: /compose_location/docker-compose .yml
Clean up the input dir
2.2.6 执行安装脚本
输出
[Step 0 ]: checking if docker is installed ...
Note: docker version: 20.10 .12
[Step 1 ]: checking docker-compose is installed ...
Note: docker-compose version: 1.25 .0
[Step 2 ]: loading Harbor images ...
[Step 3 ]: preparing environment ...
[Step 4 ]: preparing harbor configs ...
prepare base dir is set to /root/harbor
[Step 5 ]: starting Harbor ...
Creating network "harbor_harbor" with the default driver
Creating harbor-log ... done
Creating harbor-db ... done
Creating registry ... done
Creating registryctl ... done
Creating redis ... done
Creating harbor-portal ... done
Creating harbor-core ... done
Creating harbor-jobservice ... done
Creating nginx ... done
✔ ----Harbor has been installed and started successfully.----
2.2.7 验证运行情况
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
71 c0db683e4a goharbor/nginx-photon :v2.4.1 "nginx -g 'daemon of…" About a minute ago Up About a minute (healthy) 0.0 .0.0 :80 ->8080 /tcp, :::80 ->8080 /tcp, 0.0 .0.0 :443 ->8443 /tcp, :::443 ->8443 /tcp nginx
4 e3b53a86f01 goharbor/harbor-jobservice :v2.4.1 "/harbor/entrypoint.…" About a minute ago Up About a minute (healthy) harbor-jobservice
df76e1eabbf7 goharbor/harbor-core :v2.4.1 "/harbor/entrypoint.…" About a minute ago Up About a minute (healthy) harbor-core
eeb4d224dfc4 goharbor/harbor-portal :v2.4.1 "nginx -g 'daemon of…" About a minute ago Up About a minute (healthy) harbor-portal
70 e162c38b59 goharbor/redis-photon :v2.4.1 "redis-server /etc/r…" About a minute ago Up About a minute (healthy) redis
8 bcc0e9b06ec goharbor/harbor-registryctl :v2.4.1 "/home/harbor/start.…" About a minute ago Up About a minute (healthy) registryctl
d88196398df7 goharbor/registry-photon :v2.4.1 "/home/harbor/entryp…" About a minute ago Up About a minute (healthy) registry
ed5ba2ba9c82 goharbor/harbor-db :v2.4.1 "/docker-entrypoint.…" About a minute ago Up About a minute (healthy) harbor-db
dcb4b57c7542 goharbor/harbor-log :v2.4.1 "/bin/sh -c /usr/loc…" About a minute ago Up About a minute (healthy) 127.0 .0.1 :1514 ->10514 /tcp harbor-log
2.2.8 访问harbor UI界面
2.2.8.1 在物理机通过浏览器访问
2.2.8.2 在Docker Host主机通过域名访问
添加域名解析
127.0 .0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168 .10.155 www.kubemsb.com
三、docker镜像上传至Harbor及从harbor下载
3.1 修改docker daemon使用harbor
添加/etc/docker/daemon.json文件,默认不存在,需要手动添加
{
"insecure-registries" : ["www.kubemsb.com" ]
}
3.2 docker tag
查看已有容器镜像文件
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 5 d0da3dc9764 4 months ago 231 MB
再次查看本地容器镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 5 d0da3dc9764 4 months ago 231 MB
www.kubemsb.com/library/centos v1 5 d0da3dc9764 4 months ago 231 MB
3.3 docker push
Username: admin 用户名 admin
Password: 密码 12345
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/
Login Succeeded 登陆成功
3.4 docker pull
在其它主机上下载或使用harbor容器镜像仓库中的容器镜像
在本地添加域名解析
127.0 .0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168 .10.155 www.kubemsb.com
在本地添加/etc/docker/daemon.json文件,其中为本地主机访问的容器镜像仓库
{
"insecure-registries" : ["www.kubemsb.com" ]
}
下载容器镜像
v1: Pulling from library/centos
Digest: sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc
Status: Downloaded newer image for www.kubemsb.com/library/centos:v1
www.kubemsb.com/library/centos:v1
查看已下载的容器镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
www.kubemsb.com/library/centos v1 5 d0da3dc9764 4 months ago 231 MB
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!