08-DevOps-向Harbor上传自定义镜像
harbor创建完成,往harbor镜像仓库中上传自定义的镜像,包括新建项目、docker配置镜像地址、镜像重命名、登录harbor、推送镜像这几个步骤,具体操作如下:
harbor中新建项目
访问级别公开,代表任何人都可以拉取仓库中的镜像,不需要身份验证。
docker配置镜像地址
在前面已经在目标服务器(192.168.1.11)中,自己构建了镜像。现在把自己构建的镜像,上传到harbor镜像仓库中(192.168.1.12)
修改 /etc/docker/daemon.json 文件内容,把harbor镜像仓库地址配置进去。
修改后的文件内容如下:
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"https://docker.1panel.live",
"https://hub.rat.dev",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://kfwkfulq.mirror.aliyuncs.com",
"https://k8s.m.daocloud.io"
],
"insecure-registries": ["192.168.1.12:85"]}
"insecure-registries": ["192.168.1.12:85"]是Docker守护进程配置文件daemon.json中的一项配置,用于指定Docker镜像仓库。
刷新配置,重启docker
systemctl daemon-reload
systemctl restart docker
镜像重命名
将目标服务器(192.168.1.11)的镜像,上传到harbor镜像仓库
docker tag 88962e29d829 192.168.1.12:85/public/myproject:1.1
命令解读:
tag:为镜像赋予新名称
88962e29d829:镜像ID
192.168.1.12:85:harbor镜像仓库ip和端口
public:harbor镜像仓库的项目名称(自己创建的)
myproject:1.1:当前镜像名称
命令执行完毕,可以通过docker images 查看到最新命名的镜像(注意镜像ID与原镜像相同,说明是同一个镜像,只是起了一个新的名称,为了满足harbor的要求)
远程登录harbor镜像仓库
上传镜像前,需要先登录到harbor
docker login -u admin -p Harbor12345 192.168.1.12:85
命令解读:
admin:harbor用户名
Harbor12345:harbor密码
192.168.1.12:85:harbor镜像仓库ip和端口
推送镜像
向harbor镜像仓库推送镜像
docker push 192.168.1.12:85/public/myproject:1.1
命令解读:
192.168.1.12:85:harbor镜像仓库ip和端口
public:harbor镜像仓库的项目名称(自己创建的)
192.168.1.12:85/public/myproject:1.1 :镜像名称(通过命令docker images可以查询到)
通过浏览器页面,也可以看到新上传的镜像
到此,向镜像仓库harbor,上传自定义镜像的操作就完成了。
从harbor镜像仓库拉取镜像
如果要从仓库中拉取仓库中的镜像,对应的命令为:
docker pull 镜像名称
例如:
docker pull 192.168.1.12:85/public/myproject:1.1
注意,如要要在服务器上拉取镜像,需要先在/etc/docker/daemon.json文件中配置"insecure-registries": ["192.168.1.12:85"],这样才能让docker知道镜像仓库地址,否则docker无法拉取镜像。