基礎環境
システム: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以上での使用が推奨されます。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]