のぴぴのメモ

自分用のLinuxとかの技術メモ

RHEL7 on EC2にdockerをセットアップする手順

はじめに

RHEL7 on EC2(License Included)でのdockerセットアップ手順を記載します。
Amazon Linux2へのdockerセットアップ手順(下記)との違いは、RHUI*1のEPELレポジトリを有効化してそこからdockerをインストールするところです。
nopipi.hatenablog.com

手順

RHEL7 on EC2へのdockerインストール

基本的には、ECS agentガイドにある手順を参考にRHEL用に一部カスタマイズして進めます。

EPELレポジトリの登録

awsが提供するライセンス込みのRHELインスタンスにdockerをインストールする場合は、RHUI(Red Hat Update Infrastructure)*2のEPEL(Extra Packages for Enterprise Linux)から、dockerをダウンロードします。
EPELはデフォルトでは登録がないので、まずEPELの登録をします。登録手順はこちらを参考にしています。

sudo yum install yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras
Dockertインストール

RHEL全体のパッケージアップデートとdockerのインストールを行います。

sudo yum -y update
sudo yum -y install docker 

dockerコマンドをec2-userで実行するための設定

ec2-userのセカンダリグループに、dockerrootグループを追加します。dockerのグループが、dockerではなくdockerrootなので注意してください。
あとdockerdのsocketファイルの所有者が"root:root"なので、dockerrootグループがwriteできるよう所有者を"root:dockerroot"に変更します。(もっとスマートな方法があればいいのですが、ちょっと見つからなかったので)

sudo usermod -a -G dockerroot ec2-user
sudo chown root:dockerroot /var/run/docker.sock 

確認

dockerコマンドを実行して確認する。実行して、ClientとServerの両方の情報が表示されればOKです。

$ docker version
Client:
 Version:      18.03.1-ce
 API version:  1.37
 Go version:   go1.9.6
 Git commit:   3dfb8343b139d6342acfd9975d7f1068b5b1c3d3
 Built:        Fri Jun 15 23:15:12 2018
 OS/Arch:      linux/amd64
 Experimental: false
 Orchestrator: swarm

Server:
 Engine:
  Version:      18.03.1-ce
  API version:  1.37 (minimum version 1.12)
  Go version:   go1.9.6
  Git commit:   7390fc6/18.03.1-ce
  Built:        Fri Jun 15 23:17:24 2018
  OS/Arch:      linux/amd64
  Experimental: false

*1:Red Hat Update Infrastructure 2.0

*2:クラウドで提供されているRHEL(License IncludedなRHELのAMIを利用した場合が該当)ようにクラウド上で提供されている、RHELパッケージのレポジトリサービス。詳細は、こちらを参照