Amazon Linux 2にDocker CEをyumでインストールした時のエラー解決についてまとめた。
Docker CEインストール時のエラー
Amazon Linux 2 に Docker CEをインストールしてみる。
普通に yum でインストールできるだろうか?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# yum install docker-ce 読み込んだプラグイン:langpacks, priorities, update-motd 296 packages excluded due to repository priority protections 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ docker-ce.x86_64 3:19.03.10-3.el7 を インストール --> 依存性の処理をしています: container-selinux >= 2:2.74 のパッケージ: 3:docker-ce-19.03.10-3.el7.x86_64 --> 依存性の処理をしています: containerd.io >= 1.2.2-3 のパッケージ: 3:docker-ce-19.03.10-3.el7.x86_64 --> 依存性の処理をしています: docker-ce-cli のパッケージ: 3:docker-ce-19.03.10-3.el7.x86_64 --> トランザクションの確認を実行しています。 ---> パッケージ containerd.x86_64 0:1.3.2-1.amzn2 を 不要 ---> パッケージ containerd.io.x86_64 0:1.2.13-3.2.el7 を 非推奨 --> 依存性の処理をしています: container-selinux >= 2:2.74 のパッケージ: containerd.io-1.2.13-3.2.el7.x86_64 ---> パッケージ docker-ce.x86_64 3:19.03.10-3.el7 を インストール --> 依存性の処理をしています: container-selinux >= 2:2.74 のパッケージ: 3:docker-ce-19.03.10-3.el7.x86_64 ---> パッケージ docker-ce-cli.x86_64 1:19.03.10-3.el7 を インストール ---> パッケージ runc.x86_64 0:1.0.0-0.1.20200204.gitdc9208a.amzn2 を 不要 --> 衝突を処理しています: 3:docker-ce-19.03.10-3.el7.x86_64 は docker と衝突しています --> 衝突を処理しています: 3:docker-ce-19.03.10-3.el7.x86_64 は docker-io と衝突しています --> 衝突を処理しています: 1:docker-ce-cli-19.03.10-3.el7.x86_64 は docker と衝突しています --> 衝突を処理しています: 1:docker-ce-cli-19.03.10-3.el7.x86_64 は docker-io と衝突しています --> 依存性解決を終了しました。 エラー: パッケージ: 3:docker-ce-19.03.10-3.el7.x86_64 (docker-ce-stable) 要求: container-selinux >= 2:2.74 エラー: docker-ce-cli conflicts with docker-19.03.6ce-3.amzn2.x86_64 エラー: パッケージ: containerd.io-1.2.13-3.2.el7.x86_64 (docker-ce-stable) 要求: container-selinux >= 2:2.74 エラー: docker-ce conflicts with docker-19.03.6ce-3.amzn2.x86_64 問題を回避するために --skip-broken を用いることができます。 これらを試行できます: rpm -Va --nofiles --nodigest |
なぜか、エラーが出た。
Requires: container-selinux >= 2.9
rpm -Va --nofiles --nodigest
???
ここを調べてみた。
・https://qiita.com/fake-deli-ca/items/cf098cf35d0bfa0185ed
普通に、container-selinix をyumでインストールしたら解決したとある。
ところが、うまくいかないぞ。。
解決策:Amazon Linux 2で Docker CEをインストールする方法
調べてみたら、普通に Amazon EC2の公式サイトにDocker CEのインストール方法が書いてあった。
・https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/docker-basics.html
インスタンスでインストールされているパッケージとパッケージキャッシュを更新します。
1 |
$ sudo yum update -y |
最新の Docker Community Edition パッケージをインストールします。
1 |
$ sudo amazon-linux-extras install docker |
Docker サービスを開始します。
1 |
$ sudo service docker start |
ec2-user を docker グループに追加すると、sudo を使用せずに Docker コマンドを実行できます。
1 |
$ sudo usermod -a -G docker ec2-user |
ログアウトし、再びログインして、新しい docker グループアクセス権限を取得します。これは、現在の SSH ターミナルウィンドウを閉じて、新しいウィンドウでインスタンスに再接続することで達成できます。新しい SSH セッションには適切な docker グループ権限があります。
ec2-user が sudo を使用せずに Docker コマンドを実行できることを確認します。
1 |
$ docker info |
サービスに登録するには以下のコマンドで登録します。
1 |
$ sudo systemctl enable docker |
これで、再起動してもDockerのサービスが起動します。
コメント
[…] ・https://urashita.com/archives/32068 […]