创建镜像并上传至docker仓库harbor

创建Harbor企业级docker仓库,并上传自己制作的镜像。
先把常见问题贴进来
问题①
Error response from daemon: Get https://192.144.175.106/v2/: dial tcp 192.144.175.106:443: connect: connection refused
解决方法:
将/etc/docker/daemon.json文件中的镜像仓库地址改为自己的服务器上的地址,即下方图中所示
创建镜像并上传至docker仓库harbor_第1张图片
修改保存完成之后重载一下daemon

systemctl daemon-reload

最重要的一步就是重新启动docker!!!
查了无数办法,最后重启了一下docker解决了

systemctl restart docker

问题②
docker: Error response from daemon: manifest for 192.144.175.106:86/docker/centos:latest not found: manifest unknown: manifest unknown.
此问题也按照上述解决方法,如果还有问题就修改一下访问的端口号,将仓库中的地址加上访问端口号。
问题③
Password:
Error response from daemon: Get https://192.144.175.106/v2/: dial tcp 192.144.175.106:443: connect: connection refused
解决办法:
修改/etc/docker/daemon.json
创建镜像并上传至docker仓库harbor_第2张图片

{
 "insecure-registries": ["xxx.xxx.xxx.xxx:端口号“]
 }

修改完成之后重新加载daemon,重启docker,还是不行的话先配置问题4 中的文件,再次重启即可

systemctl daemon-reload
systemctl restart docker

问题④
The push refers to repository [docker.io/library/centos]
9f69ddbbc14a: Preparing
877b494a9f30: Layer already exists
denied: requested access to the resource is denied
解决方案:
此问题是未给镜像打标签,只需给镜像打上标签即可,标签格式为服务器地址/镜像目录,还是不行的话先配置问题1 中的文件,再次重启即可。

docker tag 源镜像 192.xxx.xxx.xxx:端口号/镜像目录/镜像名/镜像标签

下图为此教程最后推送的镜像的标签
创建镜像并上传至docker仓库harbor_第3张图片
还有什么别的问题可以写在留言区,一起解决!
下文为从安装docker到创建harbor再到创建镜像->推送镜像到私有仓库的全部过程!

目录结构如下
1. 安装docker并配置
2. 安装harbor并创建个人账号
3. 在本地制作docker镜像
4. 将本地制作的docker镜像推送到docker仓库harbor上

  • 1.安装docker并配置
    首先在服务器上安装docker,配置阿里的docker源,然后设置docker加速,最后安装社区版docker-ce
    在此篇博客中有详细步骤Docker入门之源配置、镜像加速等常见操作
  • 2.安装haobor并创建个人账号
    使用docker-compose安装harbor,首先使用pip下载docker-compose,再从harbor官网上下载harbor安装包,下载解压到/usr/local目录下
    在此篇博客中有详细步骤搭建企业级docker仓库harbor
  • 3.在本地制作docker镜像
    这里以centos为基础镜像,在此基础镜像上安装vim编辑器为例子,将此镜像制作为自己的镜像,推送到镜像仓库上。
    首先,在本地拉取centos镜像
    docker pull centos创建镜像并上传至docker仓库harbor_第4张图片第二,以交互方式运行基于此镜像的容器.
    在容器中叠加镜像,安装vim功能并创建文件。下图可看出,拉取的centos基础镜像中没有自带vim功能,使用yum安装后封装为新的镜像。
    docker run --name centos1 -it centos /bin/bash
    安装vim编辑器
    yum install vim

创建镜像并上传至docker仓库harbor_第5张图片
安装完成之后使用vim来创建1.txt文件
创建镜像并上传至docker仓库harbor_第6张图片
第三、保持此容器运行状态,不要退出,另开一个终端将此容器提交为一个新的镜像
创建镜像并上传至docker仓库harbor_第7张图片
可以看出镜像叠加之后增加了124M的大小
将我们自己制作的镜像推送到harbor镜像仓库之前,我们需要指定我们在服务器上的哪个目录下,可以在harbor上创建一个目录叫做docker,我们需要将主机的镜像打标签为推向服务器中的地址
docker tag centos:vim 192.144.175.106:86/docker/centos:vim
在这里插入图片描述
四、最后一步需要将构建的镜像推送到我们自己的harbor镜像仓库上去,此步骤首先需要配置我们的daemon.json中镜像地址,编辑为我们的服务器ip
创建镜像并上传至docker仓库harbor_第8张图片此处修改完成之后别忘记重载daemon,使用命令

systemctl daemon-reload

还有不要忘记重启一下docker,否则会遇到报错,本文开题中有报错详解

systemctl restart docker

然后将镜像push到我们的harbor服务器上去

  • 4.将本地制作的docker镜像推送到docker仓库harbor上
    创建镜像并上传至docker仓库harbor_第9张图片
    在harbor上访问即可发现推送成功
    创建镜像并上传至docker仓库harbor_第10张图片

你可能感兴趣的:(虚拟化)