メモ
Podman Composeの新しいバージョンが出たら
再度試して結果を更新します。
現在の最新バージョン (2020/09/26現在)
製品名 | バージョン | リリース日 |
---|---|---|
Podman | 2.1.1 | 2020/09/26 |
Podman Compose | 0.1.5 | 2019/09/04 |
環境
Fedora CoreOS testing 31.20200223.2.0
Podman 1.8.0
Podman Compose 0.1.5
docker-compose.ymlでサービス名とコンテナ名が同じにした時
Dockerの時はエラーになったことはなかった。
Podmanでは、エラーになる場合がある。
サービス名とコンテナ名は、別々の名前にすること。
例
version: '3.7'
services:
adminer:
# container_nameをadminerにしたら
# Error: name adminer is in use: container already exists
# のエラーになったので別名にしています。
container_name: adminer1
image: adminer:4.7.6
restart: always
ports:
- 8080:8080
depends_on:
- db
db:
container_name: mariadb
image: mariadb:10.4.12
restart: always
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=sample
- MYSQL_USER=user
- MYSQL_PASSWORD=pass
volumes:
- ./mariadb/data:/var/lib/mysql
restartの指定はPodmanではまだ使えない?
podman run と podman-composeで、restart=always
つけましたが、以下の操作後にコンテナが起動した
状態にはなりませんでした。
・Podmanでコンテナ起動
・EC2のインスタンス停止→起動
I don't know exactly if restart policy is here in 1.4.x
release. I'll check it and post here.
But currently I am using "podman generate systemd"
to specify restart policy.
google翻訳
再起動ポリシーが1.4.xリリースにあるかどうかは
正確にはわかりません。
チェックしてここに投稿します。
しかし、現在、「podman generate systemd」を
使用して再起動ポリシーを指定しています。
コンテナの起動/停止をsystemdで
管理する方法を利用する必要があるようです。
podman-generate-systemd
Using systemd to control the startup of Podman containers
Running containers with Podman and shareable systemd services
podman-compose
docker-composeの以下の構成の物はうまく動きませんでした
・MariaDB 3コンテナ + Maxscale
以下のdocker-compose.ymlを使用
(maxscaleのバージョンだけ2.3に変更)
https://github.com/mariadb-corporation/maxscale-docker/blob/master/maxscale/docker-compose.yml
複数のコンテナをpodman-composeで起動した時にpodman psのports表示がおかしい気がする
例
$ podman ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a80a97d42396 docker.io/library/adminer:4.7.6 php -S [::]:8080 ... 7 seconds ago Up 6 seconds ago 0.0.0.0:8080->8080/tcp adminer1
a507d52a1d84 docker.io/library/mariadb:10.4.12 mysqld 14 seconds ago Up 13 seconds ago 0.0.0.0:8080->8080/tcp mariadb