Podman下如何配置私有镜像仓库非https版

本文指导用户在Podman中设置私有Registry镜像仓库,包括拉取Registry镜像、禁用SELINUX、运行容器、配置防火墙、推送和拉取镜像等步骤。
摘要由CSDN通过智能技术生成

Podman下如何配置私有镜像仓库

=======================

当您在使用Podman时,您可能需要在本地运行一个私有的Registry镜像仓库来存储和管理您的镜像。在本文中,我们将介绍如何在Podman中配置并运行一个本地私有LocalRegistry镜像仓库。

配置Registry镜像仓库

首先,我们需要从Docker Hub拉取Registry映像并在本地运行它。创建的容器存储目录位于容器上的/var/lib/registry下,为了持久化存储需要映射到在宿主机上挂载到目录/registry-data下。

拉取Registry映像

要在Podman中配置Registry镜像仓库,我们首先需要从Docker Hub拉取Registry映像。可以使用以下命令来拉取Registry映像:

$ podman pull registry:2

禁用SELINUX

在默认情况下,Podman在运行时会启用SELINUX。如果您希望Registry容器能够正常工作,您需要禁用SELINUX。可以使用以下命令来禁用SELINUX:

$ sudo vi /etc/selinux/config

SELINUX的值从enforcing更改为disabled,然后保存并退出。

运行Registry容器

现在,我们可以运行Registry容器了。可以使用以下命令来运行Registry容器:

$ sudo podman run -d -p 5000:5000 -v /registry-data:/var/lib/registry --restart always --name localregistry registry:2

这里,我们使用-p标志将Registry容器的5000端口映射到本地主机的5000端口上,使用-v标志将容器的存储目录映射到本地主机上。这样,当Registry容器重新启动时,它会继续使用之前存储的镜像。

验证Registry容器

现在,我们可以验证Registry容器是否正常运行了。可以使用以下命令来查看正在运行的容器:

$ sudo podman ps

如果Registry容器已经正常运行,您将会看到一个类似于以下的输出:

[root@docker /]# podman ps
CONTAINER ID  IMAGE                         COMMAND               CREATED        STATUS        PORTS                   NAMES
55904ab9dd7a  docker.io/library/registry:2  /etc/docker/regis...  3 seconds ago  Up 3 seconds  0.0.0.0:5000->5000/tcp  localregistry

这里,我们可以看到Registry容器已经正在运行,并且已经映射到了本地主机的5000端口上。

配置本地防火墙

如果您的系统上运行着防火墙,您需要配置它以允许Registry容器的5000端口。可以使用以下命令来打开5000端口:

$ sudo firewall-cmd --add-port=5000/tcp
$ sudo firewall-cmd --runtime-to-permanent

这样,Registry容器的5000端口就已经可以被访问了。

推送镜像到Registry仓库

现在,我们已经成功地运行了Registry容器,我们可以开始推送镜像到Registry仓库了。可以使用以下命令来标记一个镜像:

$ sudo podman tag alpine localhost:5000/alpine

这里,我们将alpine这个镜像标记为localhost:5000/alpine,这样就能够将它推送到Registry仓库了。

然后,我们可以使用以下命令来推送镜像到Registry仓库:

[root@docker /]# podman push localhost:5000/alpine --tls-verify=false
Getting image source signatures
Copying blob 5af4f8f59b76 done   |
Copying config f8c20f8bbc done   |
Writing manifest to image destination

这样,alpine新tag过的就会上传至私有仓库,通过以下命令可以查看

[root@docker /]# podman search localhost:5000/ --tls-verify=false
NAME                   DESCRIPTION
localhost:5000/alpine

从Registry仓库拉取镜像

现在,我们已经成功将镜像推送到了Registry仓库,我们可以从Registry仓库拉取镜像了。可以使用以下命令来拉取镜像:

[root@docker /]# podman pull localhost:5000/alpine --tls-verify=false
Trying to pull localhost:5000/alpine:latest...
Getting image source signatures
Copying blob 5da3e28c5c69 skipped: already exists
Copying config f8c20f8bbc done   |
Writing manifest to image destination
f8c20f8bbcb684055b4fea470fdd169c86e87786940b3262335b12ec3adef418

这样,我们就可以使用在Registry仓库中存储的镜像了。

总结

在本文中,我们介绍了如何在Podman中配置并运行一个本地私有Registry镜像仓库,并且介绍了如何将镜像推送到私有Registry仓库以及如何从私有Registry仓库拉取镜像。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值