• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

podman

date: 2021-09-07 excerpt: podmanの使い方

tag: podmandocker


podmanの使い方

概要

  • dockerの代替
  • alias docker="podman"としても動くことを目標としているらしい
  • debianの最新カーネルでdockerが不安定になったのでpodmanで一部代替したらうまく行った
  • rootlessとよばれ、dockerコンテナの権限がrootではなくユーザに限定されるので安全らしい

インストール

ubuntu, debian

$ sudo apt install podman

osx

$ brew install podman

osxはvmで動作するので初期化が必要

$ podman machine init
$ podman machine start

各種コンテナの実行

hello-world

$ podman run -it hello-world
Hello from Docker!

or

$ podman run -it docker.io/library/hello-world
Hello from Docker!

localstack

$ podman run -itd --rm -p 4566:4566 docker.io/localstack/localstack:latest
  • dockerと実行するのと異なりdocker.io/localstack/が必要

dockerと同じ名前空間をshortnameで探す

/etc/containers/registries.confにunqualified-search-registries=["docker.io"]を追加する

  • 参考

ネットワークをホストと共有する

  • --network=hostをつけて起動する

systemdの作成

  • おそらくdockerではサポートされていない機能
  • かんたんにサービスが作成できるので便利

動作しているコンテナからサービスのファイル作成

$ podman generate systemd --new --files --name <container id>
# ファイルが作成される

ユーザのsystemd-serviceに登録

$ mkdir -p ~/.config/systemd/user
$ cp <container name>.service ~/.config/systemd/user
$ systemctl --user enable <container name>.service

ユーザのログインコントロール(延長)

$ loginctl enable-linger $USER


podmandocker Share Tweet