当前位置: 首页 > article >正文

MacOS中安装和配置Podman

在MacOS中,Podman的底层由QEMU虚拟机支持。虚拟机中启动了一个Linux系统,称为podman机器。可用用 podman machine 命令管理。

  • 安装podman

brew install podman

  • 启动podman虚拟机

podman machine init
podman machine start

  • 验证安装信息

podman info

  • 安装 Podman Desktop

brew install podman-desktop

  • 安装 podman-compose

pip3 install podman-compose

镜像配置文件位置

MacOS 中,podman安装在虚拟机中,修改镜像配置文件要登录虚拟机中修改。registries.conf 用于指定默认的容器仓库,拉取没有仓库名的镜像时会使用默认容器仓库,配置文件位于以下位置:

全局配置文件:

/etc/containers/registries.conf

用户配置文件:

$HOME/.config/containers/registries.conf

非root用户可以使用用户配置文件替换系统默认配置。如果设置了 CONTAINERS_REGISTRIES_CONF 环境变量,则使用该变量的设置。

容器镜像配置文件说明

配置文件为TOML格式,容器引擎会先选择用户配置文件,如果不存在就使用全局配置文件。配置例子:

# 拉取镜像时没有指定仓库地址,按这里的仓库列表顺序搜索镜像
unqualified-search-registries = ["example.com"]

[[registry]]
prefix = "example.com/foo"
insecure = false
blocked = false
location = "internal-registry-for-example.com/bar"

[[registry.mirror]]
location = "example-mirror-0.local/mirror-for-foo"

[[registry.mirror]]
location = "example-mirror-1.local/mirrors/foo"
insecure = true

[[registry]]
location = "registry.com"

[[registry.mirror]]
location = "mirror.registry.com"

当拉取 example.com/foo/image:latest 时,会按以下顺序尝试拉取,并且使用第一个存在的镜像。

  1. example-mirror-0.local/mirror-for-foo/image:latest
  2. example-mirror-1.local/mirrors/foo/image:latest
  3. internal-registry-for-example.net/bar/image:latest

配置国内的镜像源

  • 登录虚拟机

podman machine ssh

  • 添加镜像配置文件

touch $HOME/.config/containers/registries.conf

  • 配置文件内容
unqualified-search-registries = ["docker.io"]

[[registry]]
prefix = "docker.io"
location = "docker.io"

[[registry.mirror]]
location = "hub-mirror.c.163.com"

[[registry.mirror]]
location = "mirror.baidubce.com"

[[registry.mirror]]
location = "ustc-edu-cn.mirror.aliyuncs.com"

[[registry.mirror]]
location = "registry.docker-cn.com"

检查配置是否生效

➜  ~ podman info | grep registries -A 25
registries:
  docker.io:
    Blocked: false
    Insecure: false
    Location: docker.io
    MirrorByDigestOnly: false
    Mirrors:
    - Insecure: false
      Location: hub-mirror.c.163.com
      PullFromMirror: ""
    - Insecure: false
      Location: mirror.baidubce.com
      PullFromMirror: ""
    - Insecure: false
      Location: ustc-edu-cn.mirror.aliyuncs.com
      PullFromMirror: ""
    - Insecure: false
      Location: registry.docker-cn.com
      PullFromMirror: ""
    Prefix: docker.io
    PullFromMirror: ""
  search:
  - docker.io
store:
  configFile: /var/home/core/.config/containers/storage.conf
  containerStore:
  

参考

  • https://podman.io/getting-started/installation
  • https://docs.podman.io/en/latest/markdown/podman.1.html
  • https://github.com/containers/image/blob/main/docs/containers-registries.conf.5.md

http://www.kler.cn/a/6168.html

相关文章:

  • nginx-灰度发布策略(split_clients)
  • 【练习】PAT 乙 1022 D进制的A+B
  • Vue3-跨层组件通信Provide/Inject机制详解
  • 51单片机——8*8LED点阵
  • winform中使用panuon开源UI库的问题
  • 如何通过API实现淘宝商品评论数据抓取?item_review获取淘宝商品评论
  • linux系统编程(6)--守护进程
  • IDEA vs Eclipse:使用体验对比
  • 蓝桥杯算法全集之多重背包问题I(动态规划算法)
  • Vim超详细下载安装与使用教程
  • C语言模拟实现:atoi函数
  • unity物理碰撞检测和触发器碰撞检测的区别
  • 强引用和弱引用区别
  • php面向对象讲解
  • 2023年全国最新保安员精选真题及答案42
  • 计算机网络中端到端与点到点的区别
  • 【创作赢红包】求最大公因数与最小公倍数
  • 【新2023Q2模拟题JAVA】华为OD机试 - 总最快检测效率 or 核酸检测效率
  • 【云原生进阶之容器】第五章容器运行时5.5--容器运行时之Kata Containers
  • 2023年南京晓庄学院五年一贯制专转本秘书学专业考试大纲
  • 让ChatGPT告诉你Java的发展前景
  • Java小课堂:自定义注解(案例:自定义DecimalFormat注解)
  • TiDB入门篇-数据物理备份和恢复
  • 损失函数:如何帮助模型学会“自省”?
  • 【Redis】数据结构 - HyperLogLog
  • 内存管理介绍