banner
云野阁

云野阁

闲云野鹤,八方逍遥

podman-5.1.2 デプロイ

基礎環境

システム:openEuler 22.03 (LTS-SP4) X86

ソフトウェア:podman-5.1.2、podman-compose-1.2.0

yum リポジトリの設定#

echo '[baseos]
name=CentOS-Stream-9-Base-mirrors.aliyun.com
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/BaseOS/x86_64/os/
gpgcheck=0

[appstream]
name=CentOS-Stream-9-Appstream-mirrors.aliyun.com
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/AppStream/x86_64/os/
gpgcheck=0' > /etc/yum.repos.d/CentOS.repo

podman と podman-compose のインストール#

# podman podman-dockerをインストール
yum install -y podman podman-docker
# podman-composeをダウンロード
pip install podman-compose
# ファイルを作成し、dockerコマンドを使用してもエラーが出ないようにする
touch /etc/containers/nodocker

podman-docker をインストール後、docker コマンドを使用できます

起動とバージョン確認#

# podmanを起動
systemctl start podman
# 自動起動を設定
systemctl enable podman
# バージョンを確認
podman --version

cgroups-v2 を永続的に有効にする#

📚海拾🐚 cgroups-v2 コンテナ用のcgroup v2は、カーネルバージョン4.15以上が必要で、5.2以上での使用が推奨されます。
podmanのインストールが完了した後、直接podmanコマンドを使用すると、以下の警告が表示されます。これはcgroups-v1が廃止され、環境変数`PODMAN_IGNORE_CGROUPSV1_WARNING`を設定してcgroups-v2を有効にする必要があることを示しています。

WARN[0000] Using cgroups-v1 which is deprecated in favor of cgroups-v2 with Podman v5 and will be removed in a future version. Set environment variable PODMAN_IGNORE_CGROUPSV1_WARNING to hide this warning.

(1)システムが cgroups-v2 をサポートしているか確認する

grep cgroup /proc/filesystems

システムがサポートしている場合、以下の内容が表示されます:

nodev cgroup
nodev cgroup2

(2)ls /sys/fs/cgroup/cgroup.controllersを入力して cgroups-v2 が有効になっているか確認します。ls: cannot access '/sys/fs/cgroup/cgroup.controllers': No such file or directoryと表示された場合、まだ有効になっていません。

(3)cgroups-v2 を永続的に有効にする

GRUB 設定ファイル/etc/default/grubを開き、カーネルコマンドラインパラメータを変更します。GRUB_CMDLINE_LINUXの行に以下のパラメータを追加します:

systemd.unified_cgroup_hierarchy=1

GRUB_CMDLINE_LINUX="resume=/dev/mapper/openeuler-swap rd.lvm.lv=openeuler/root rd.lvm.lv=openeuler/swap cgroup_disable=files apparmor=0 crashkernel=512M systemd.unified_cgroup_hierarchy=1"

(4)GRUB 設定を更新し、システムを再起動して変更を有効にします。

# GRUB設定を更新
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
# 再起動
reboot

cgroups-v2 の確認#

システムを再起動した後、コマンドを入力して podman の cgroupVersion のバージョンを確認します。表示されたバージョンが v2 であれば、成功です。また、podman コマンドを入力しても警告は表示されません。

podman info | grep cgroupVersion

cgroupVersion: v2

イメージソースの設定#

設定ファイル/etc/containers/registries.confを開き、国内のイメージソースを設定してイメージの取得を加速します。

echo 'unqualified-search-registries = ["docker.io"]
[[registry]]
prefix = "docker.io"
location = "dockerhub.icu"
insecure = true
[[registry.mirror]]
location = "ghcr.geekery.cn"
insecure = true
[[registry.mirror]]
location = "hub.rat.dev"
insecure = true
[[registry.mirror]]
location = "docker.wanpeng.top"
insecure = true
[[registry.mirror]]
location = "f1361db2.m.daocloud.io"
insecure = true' >> /etc/containers/registries.conf

イメージ取得テスト#

podman run hello-world

成功してイメージを取得し実行すると、以下のような結果が表示されます:

Resolved "hello-world" as an alias (/etc/containers/registries.conf.d/000-shortnames.conf)
Trying to pull quay.io/podman/hello...
Getting image source signatures
Copying blob 81df7ff16254 done |
Copying config 5dd467fce5 done |
Writing manifest to image destination
!... Hello Podman World ...!

     .--"--.
   / -     - \
  / (O)   (O) \
 .---. /`  \   |~~
~/  o  o \~~~~.----. ~~
| =(X)= |~  / (O (O) \
~~~~~~~  ~| =(Y_)=-  |
~~~~    ~~~|   U      |~~

プロジェクト:   https://github.com/containers/podman
ウェブサイト:   https://podman.io
デスクトップ:   https://podman-desktop.io
ドキュメント: https://docs.podman.io
YouTube:   https://youtube.com/@Podman
X/Twitter: @Podman_io
Mastodon:  @[email protected]
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。