Docker-在Harbor镜像仓库上推拉镜像

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:   之前搭建好了docker和harbor,现在就可以在harbor上进行镜像管理了。环境准备  两台机器,物理机、虚拟机不限,分别作为docker镜像仓库和客户端。

  之前搭建好了docker和harbor,现在就可以在harbor上进行镜像管理了。

环境准备


  两台机器,物理机、虚拟机不限,分别作为docker镜像仓库和客户端。
我准备了如下两台:

  1. 192.168.242.132,Docker镜像仓库,安装了harbor;
  2. 192.168.242.134,Docker客户端,安装了docker;

从客户端推送镜像到Harbor


客户端连接镜像仓库

使用命令:

docker login 192.168.242.132

然后依次输入用户名和密码,发现登录不进去,出现错误【Error response from daemon: Get https://192.168.242.132/v1/users/: dial tcp 192.168.242.132:443: getsockopt: connection refused】,拒绝连接:

img_14efbe6fc7be14a66f0120fe047e0831.png
connection refused.png

这里需要在客户端机器上修改docker的配置

  1. 将docker连接的镜像仓库修改成搭建的harbor仓库,首先到【/etc/sysconfig/】目录下新增一个文件【docker】
cd /etc/sysconfig
touch docker
vi docker

插入一行:

OPTIONS="--insecure-registry 192.168.242.132"
img_051b4c956175a8eedbebf094bc3ae4d1.png
image.png

然后保存文件。

  1. 修改【docker.service】
vi /usr/lib/systemd/system/docker.service

新增一行

EnvironmentFile=-/etc/sysconfig/docker

修改一行

ExecStart=/usr/bin/dockerd $OPTIONS
img_d376b0184826fd254f9a9c5b2ac17ffd.png
docker.service.png

然后保存文件。

  1. 重启docker服务
systemctl daemon-reload
systemctl restart docker.service
  1. 登录
    继续在docker客户端机器,使用命令:
docker login 192.168.242.132

然后依次输入用户名和密码,登录成功。
img_693a8fc7e730bc42d3bdaff5268b42b8.png
登录成功.png

【注意】这里如果docker镜像仓库服务器不启动容器就会出现错误【Error response from daemon: Get https://192.168.242.132/v1/users/: dial tcp 192.168.242.132:443: getsockopt: no route to host】

img_a8c3fc3b5a07255ab86802f4b35c07e8.png
image.png

这是因为harbor没有启动,到harbor服务器运行下面的命令即可

docker-compose up -d

【遇到问题】另外如果在镜像仓库服务器启动harbor时遇到这个错误【Creating network "harbor_harbor" with the default driver
ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-b028bf745bf8 -j RETURN: iptables: No chain/target/match by that name.】


img_0b601a76b124186cb892f8ae0fd43275.png
image.png

重启docker服务可以解决

systemctl restart docker.service
推送镜像到镜像仓库

先查看客户端本地的镜像,我这里有一个很小的镜像

docker images
img_ba16505d6ad6235258da023b98590565.png
image.png

先要标记镜像

docker tag alpine:latest 192.168.242.132/library/alpine:latest

然后推送镜像

docker push 192.168.242.132/library/alpine:latest
img_6ff4144ba69b2d99e929ff5cae6ce30b.png
image.png

这里没有报错,现在通过浏览器登录harbor查看一下:
img_6b5b302279c7364a5cac97159ea7c959.png
image.png

推送成功,现在查看客户端的镜像可以看到两个(其实是一个,ID相同):


img_4b532eefcbf2a53560c8f89277c1cdaf.png
查看镜像.png

从Harbor镜像仓库拉取镜像到客户端


先将客户端的已有镜像删除

docker rmi 11cd0b38bc3c

然后使用命令拉取镜像

docker pull 192.168.242.132/library/alpine:latest

最后查看镜像,拉取成功。
img_99633ed4ab07b2a1da1718f139719528.png
image.png

同时通过harbor界面可以查看到镜像下载的次数
img_de730ca9d1809e00ae84bfb12dbea63d.png
image.png
相关实践学习
通过容器镜像仓库与容器服务快速部署spring-hello应用
本教程主要讲述如何将本地Java代码程序上传并在云端以容器化的构建、传输和运行。
Kubernetes极速入门
Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 本课程从Kubernetes的简介、功能、架构,集群的概念、工具及部署等各个方面进行了详细的讲解及展示,通过对本课程的学习,可以对Kubernetes有一个较为全面的认识,并初步掌握Kubernetes相关的安装部署及使用技巧。本课程由黑马程序员提供。   相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
1月前
|
Ubuntu NoSQL 开发工具
《docker基础篇:4.Docker镜像》包括是什么、分层的镜像、UnionFS(联合文件系统)、docker镜像的加载原理、为什么docker镜像要采用这种分层结构呢、docker镜像commit
《docker基础篇:4.Docker镜像》包括是什么、分层的镜像、UnionFS(联合文件系统)、docker镜像的加载原理、为什么docker镜像要采用这种分层结构呢、docker镜像commit
175 70
|
5天前
|
网络协议 Linux 网络安全
docker centos镜像 npm安装包时报错“npm ERR! code ECONNRESET”
通过上述步骤,您可以有效解决在 Docker 中使用 CentOS 镜像安装 npm 包时遇到的 "npm ERR! code ECONNRESET" 错误。希望这些方法能帮助您顺利进行 npm 包的安装。
69 26
|
24天前
|
存储 Docker 容器
Docker-基础(数据卷、自定义镜像、Compose)
通过数据卷实现持久化存储,通过自定义镜像满足特定需求,通过Docker Compose方便地管理多容器应用
77 27
|
22天前
|
安全 数据安全/隐私保护 Docker
docker私有仓库harbor安装
通过以上步骤,您可以成功在企业内部安装和配置Harbor私有仓库,方便地管理和分发Docker镜像。Harbor不仅提供了基础的镜像管理功能,还增强了安全性、身份管理和审计功能,使其成为企业级容器镜像管理的理想选择。
79 22
|
30天前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
131 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
|
25天前
|
存储 Docker 容器
Docker-基础(数据卷、自定义镜像、Compose)
通过数据卷实现持久化存储,通过自定义镜像满足特定需求,通过Docker Compose方便地管理多容器应用。掌握这些Docker基础概念和操作,可以显著提高开发和部署效率,确保应用程序的可移植性和可扩展性。
68 22
|
1月前
|
Ubuntu NoSQL 关系型数据库
《docker基础篇:6.本地镜像发布到私有库》包括本地镜像发布到私有库流程、docker regisry是什么、将本地镜像推送到私有库
《docker基础篇:6.本地镜像发布到私有库》包括本地镜像发布到私有库流程、docker regisry是什么、将本地镜像推送到私有库
111 29
|
2月前
|
Docker 容器
将本地的应用程序打包成Docker镜像
将本地的应用程序打包成Docker镜像
|
2月前
|
NoSQL PHP MongoDB
docker push推送自己搭建的镜像
本文详细介绍了如何搭建和复盘两个Web安全挑战环境:人力资源管理系统和邮件管理系统。首先,通过Docker搭建MongoDB和PHP环境,模拟人力资源管理系统的漏洞,包括nosql注入和文件写入等。接着,复盘了如何利用这些漏洞获取flag。邮件管理系统部分,通过目录遍历、文件恢复和字符串比较等技术,逐步绕过验证并最终获取flag。文章提供了详细的步骤和代码示例,适合安全研究人员学习和实践。
64 3
docker push推送自己搭建的镜像
|
2月前
|
Docker 容器

热门文章

最新文章