開発した WEB アプリケーションを、AWS の EC2 上の docker で動かすための git と docker の設定手順を解説します。
前提条件
前提条件として、すでに EC2 のインスタンスが起動していて、インスタンスに SSH 接続ができることを前提とします。
今回手順を開設するインスタンスの OS は Ubuntu を想定しています。
設定する手順
以下の設定を行います。
- git の設定
 - docker のインストールと設定
 - docker-compose のインストール
 
git の設定
EC2 に作成したアプリケーションをgit cloneできるように設定します。
SSH Key の作成
git cloneを実行するには、GitHub と SSH で通信する必要があります。
SSH キー用のディレクトリへ移動し、SSH 通信で使用するキーを作成します。
EC2 上で以下のコマンドを実行します。
$ cd ~/.ssh
$ ssh-keygen -t rsa
鍵の名前はとりあえず、ec2_github_key とします。
Enter file in which to save the key (): ec2_github_key
Enter passphrase (empty for no passphrase): [Enter]
Enter same passphrase again: [Enter]
以上で、~/.sshに秘密鍵(ec2_github_key)と公開鍵(ec2_github_key.pub)が作成されます。
~/.ssh/config の編集
~/.ssh/configに github への接続のための設定を追加します。
$ vi ~/.ssh/config
で編集します。
以下の内容を記載します。
Host github github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/ec2_github_key
github に鍵を登録
git clone したいリポジトリの「Settings」をクリックし、「Deploy keys」を選択します。「Add deploy key」ボタンをクリックして、キー登録ページに行きます。

「Title」には適当な名前をつけます。「Key」欄には、ec2 上で、
$ cat ~/.ssh/ec2_github_key
コマンドで出力されたものをコピーします。

上記の登録が終わったら EC2 上で以下のコマンドを実行して、正しく登録できているか確認します。
$ ssh -T github
Hi ユーザー名! You've successfully authenticated, but GitHub does not provide shell access.
EC2 側でも鍵を登録
以下のコマンドで EC2 側に鍵を登録。
$ ssh-add ~/.ssh/ec2_github_key
以上で、作成したアプリケーションのリポジトリからgit cloneできるはずです。
docker のインストールと設定
EC2 上で docker を使うために、docker のインストールと設定方法を紹介します。
docker のインストール
公式ドキュメントの手順に従ってインストールを行います。
EC 2上で、以下のコマンドを順番に実行していきます。
$ sudo apt-get update
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
docker-compose のインストール
続けて docker-compose もインストールします。
以下のコマンドを実行します。
$ sudo apt install docker-compose
docker を一般ユーザーでも使えるように設定する
dockerコマンドを使用する際に、sudoを付けないと以下のようなエラーが出ることがあります。
ERROR: Couldn’t connect to Docker daemon at http+docker://localhost – is it running?
ここでは、sudoを付けなくてもdocker及びdocker-composeコマンドを使えるようにするための設定を行います。
docker グループを確認、作成する
以下のコマンドで、すでに docker グループが作成されているかを確認します。
$ cat /etc/group | grep docker
docker:x:999:
と表示されれば、すでに docker グループが作成されています。
もし何も表示されない場合は、以下のコマンドで作成します。
$ sudo groupadd docker
通常ユーザーを docker グループに追加する
以下のコマンドで、通常ユーザを docker グループに追加します。
sudo usermod -aG docker $USER
これでsudoを付けなくてもdocker及びdocker-composeコマンドを使えるようになります。
まとめ
この記事では、EC2 でアプリケーションを実行するための、git と docker の設定方法について開設しました。
EC2 上でアプリケーションを公開するときには、よく行う設定なのでまとめて見ました。