当前位置:   article > 正文

如何配置 Podman 使用国内镜像源?_podman国内镜像

如何配置 Podman 使用国内镜像源?_podman国内镜像
PodmanDocker
Podman 是无守护进程的Docker 有一个守护进程 (containerd)。docker CLI 与守护进程交互以管理容器。
Podman 直接通过 runcLinux 内核交互Docker 守护进程拥有所有运行容器的子进程
Podman 可以部署具有多个容器的 pod。可以在 Kubernetes 中使用相同的 pod 清单。此外,您可以将 K8s pod 清单部署为 Podman podDocker 中没有 pod 的概念
无需任何额外配置即可运行无根容器( rootless)。您可以使用 root 或非特权用户运行容器。Docker 无根模式( rootless)需要额外的配置。

修改 Podman 容器注册表配置

双击 Podman Desktop 图标,打开 GUI 工具,点击左下角的设置【Settings】选择【Registries】:

podman-desktop-settings-registries

如上图所示,默认情况下,podman 配置有 4 个容器注册表:

  • Docker Hubhttps://docker.io
  • Red Hat Quayhttps://quay.io
  • GitHubhttps://ghcr.io
  • Google Container Registryhttps://gcr.io

您可以在以下文件中找到默认的 Podman 容器注册表配置文件 registries.conf

  • 全局配置文件:/etc/containers/registries.conf
  • 用户配置文件:~/.config/containers/registries.conf

您可以向此配置添加自定义或私有容器注册表。例如,google 容器注册表、AWS ECR、自托管私有注册表等。

如果你想使用注册中心的其他私有容器镜像,你可以使用命令登录到注册中心 podman

例如,要登录到 docker hub

podman login docker.io

  • 1
  • 2

登录后,您将能够使用 podman 命令从 docker hub 中拉取容器镜像。

如果您希望为特定用户提供不同的注册表配置,您可以 registries.conf 在用户目录中创建单独的容器注册表信息。

$HOME/.config/containers/registries.conf

  • 1
  • 2

国内直接用 podman pull 拉取镜像会很慢(可能拉取失败),所以需要配置国内镜像源来加速访问。

国内的镜像源

国内的镜像源(镜像站)加速地址有:

  • 阿里云(需登录,免费),http://<你的ID>.mirror.aliyuncs.com
  • 网易,http://hub-mirror.c.163.com
  • 百度,https://mirror.baidubce.com
  • 上海交大,https://docker.mirrors.sjtug.sjtu.edu.cn
  • 南京大学,https://docker.nju.edu.cn

以下连接不公开或已失效:

  1. Docker 中国官方镜像(已关闭),https://registry.docker-cn.com
  2. 中国科技大学 USTC(仅供内部访问),https://docker.mirrors.ustc.edu.cn

Podman Container Registries 修改步骤

此处我们以全局配置文件方式修改容器注册表配置文件 registries.conf

  1. 配置文件在 podman machine 虚拟机中,连接该虚拟机并打开一个终端:
 podman machine ssh [optional-machine-name]

  • 1
  • 2
  1. 备份原文件
sudo cp /etc/containers/registries.conf /etc/containers/registries.conf.bak

  • 1
  • 2
  1. 查看文件
sudo cat /etc/containers/registries.conf

  • 1
  • 2

输出类似(单个镜像源)配置信息如下:

# 取消从默认地址搜索的仓库域名
unqualified-search-registries = ["docker.io"]

# 自定义搜索器
[[registry]]
# 仓库前缀(镜像前缀)
prefix = "docker.io"
# 加速器地址,此处配置的 docker 中国区源
location = "registry.docker-cn.com"
# 允许通过 http 协议获取镜像
insecure = true

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

配置说明:

  • prefixpull 的时候指定的镜像前缀,如果不指定 prefix 则默认和 location 一致。
  • location 是获取镜像的地址;
  • insecure=true 表示允许通过 HTTP 协议来获取镜像,对于私有化部署/内网测试环境下无 https 证书的环境来说很有帮助。
  1. 编辑文件
sudo vim /etc/containers/registries.conf

  • 1
  • 2

配置多个镜像源:

unqualified-search-registries = ["docker.io"]

[[registry]]
prefix = "docker.io"
location = "hub-mirror.c.163.com"
insecure = true

[[registry.mirror]]
# 百度镜像源
location = "mirror.baidubce.com"
insecure = true
[[registry.mirror]]
# 网易 163 镜像源
location = "hub-mirror.c.163.com"
insecure = true
[[registry.mirror]]
# 上海交大镜像源
location = "docker.mirrors.sjtug.sjtu.edu.cn"
insecure = true
[[registry.mirror]]
# 南京大学镜像源
location = "docker.nju.edu.cn"
insecure = true

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

退出并保存:

:wq!

  • 1
  • 2

使用 shell 脚本配置:

#!/bin/bash
[ -e /etc/containers/registries.conf.BackupDir ] || mkdir /etc/containers/registries.conf.BackupDir
sudo cp /etc/containers/registries.conf /etc/containers/registries.conf.BackupDir/registries.conf.`date "+%Y%m%d%H%M%S"`.bak
printf '
unqualified-search-registries = ["docker.io"]

[[registry]]
prefix = "docker.io"
location = "hub-mirror.c.163.com"
insecure = true

[[registry.mirror]]
location = "mirror.baidubce.com"
insecure = true
[[registry.mirror]]
location = "hub-mirror.c.163.com"
insecure = true
[[registry.mirror]]
location = "docker.mirrors.sjtug.sjtu.edu.cn"
insecure = true
[[registry.mirror]]
location = "docker.nju.edu.cn"
insecure = true
' | sudo tee /etc/containers/registries.conf

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

检查配置是否生效

  1. 配置完成后,查看 podman 信息:
podman info

  • 1
  • 2
  1. 运行容器测试:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

1712899467755)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
[外链图片转存中…(img-HiLae2kT-1712899467755)]

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/929460
推荐阅读
  

闽ICP备14008679号