【docker】Amazonlinux2 /sbin/init コンテナ起動エラー

amazonlinux2 のイメージを使用して、コンテナを起動しようとしたところエラーになりました。
実行した docker コマンドは以下の通りです。

docker run -itd --privileged --name amazonlinux -p 4001:80 amazonlinux:latest /sbin/init

エラーの内容は以下の通りです。

docker: invalid publish opts format (should be name=value but got '4001:80').
See 'docker run --help'.

復旧の為の備忘録です。

解決方法

amazonlinuxコンテナにsystemdをインストールし、そのコンテナをイメージ化します。

systemdのインストール

通常通り、コンテナを起動します。

docker run -itd --name amazonlinux_org amazonlinux:latest /bin/bash

コンテナへログインします。

docker exec -it amazonlinux_org /bin/bash

systemdをインストールします。

yum install systemd -y

イメージ作成

コンテナからログアウトし、コンテナからイメージを作成します。
コンテナIDは適宜変更して下さい。

docker commit c2a779edafb6 amazonlinux_new

コンテナ起動

コンテナを起動します。

docker run -itd --privileged --name amazonlinux -p 4001:80 amazonlinux_new /sbin/init

まとめ

特にありません。

© DeNnie.Lab All Rights Reserved.