at_shiita.ishigaki
2022年6月24日 10時55分
/etc/atmark/containers/*.conf を用意することで、podman コンテナの自動起動等、起動時のオプションを設定することができます。
.conf ファイルの書き方については、Armadillo-IoT G4 のマニュアルを参考にしてください。
podman_start コマンドを使用することで .conf ファイルに記載されている podman コンテナを起動することができます。
podman_start コマンドの使用方法を以下に示します。
[armadillo ~]# podman_start -h
Usage: /usr/bin/podman_start [-a|container [container...]]
Helper to start configured container, pod or network
-a Start all configured containers/pods/networks
-i Do not replace any existing container/pod/network
note this means some options will not be reapplied
-c <dir> Alternate configuration directory
-v Verbose
-n Dry run
--remote use podman --remote
podman_start コマンドを実行するために、.conf ファイルを二つ用意します。
[armadillo ~]# cat > /etc/atmark/containers/alpine.conf << EOF
set_image docker.io/alpine
set_pull missing
set_autostart yes
set command /bin/sh
EOF
[armadillo ~]# cat > /etc/atmark/containers/busybox.conf << EOF
set_image docker.io/busybox
set_pull missing
set_autostart no
set command /bin/sh
EOF
podman_start コマンドを使用して、先ほど作成した .conf ファイルの podman コンテナを作成します。
podman_start の引数には .conf ファイルの .conf を除いたファイル名を指定します。
[armadillo ~]# podman_start alpine busybox
Starting 'alpine'
Trying to pull docker.io/library/alpine:latest...
Getting image source signatures
…
…
Writing manifest to image destination
Storing signatures
774cadfc110c0707a39bc7f372e936bec55a043b6809c1e9328531225363dd8c
Starting 'busybox'
Trying to pull docker.io/library/busybox:latest...
Getting image source signatures
…
…
Writing manifest to image destination
Storing signatures
d5e0674f386f59695b69060c8b2e8e5f058ac5b06fd8d501cb74f21b996426b4
podman コンテナが作成されていることを確認します。
[armadillo ~]# podman ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
774cadfc110c docker.io/library/alpine:latest /bin/sh About a minute ago Exited (0) About a minute ago alpine
d5e0674f386f docker.io/library/busybox:latest sh About a minute ago Exited (0) About a minute ago busybox
.conf ファイルで set_autostart が yes となってる場合は、podman_start -a コマンドで起動することができます。
[armadillo ~]# podman_start -a
Starting 'alpine'
774cadfc110c0707a39bc7f372e936bec55a043b6809c1e9328531225363dd8c
8bf47841e7f417b7af6ecd16b72b7af7894f27d6d3664602e8c34f99c9450788