開発日記

気が向いたときに書く日記

Dockerをインストール(Ubuntu)しGitHubと連携

公式サイトを参考にインストールする。

パッケージインストー

apt-getでDockerのインストールに必要なパッケージをインストール。

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

Docker公式GPG鍵追加

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

DockerのPPA追加

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

Docker CE インストー

sudo apt-get update
sudo apt-get install docker-ce
sudo docker version

でversion確認すると↓のような出力。

Client:
 Version:      17.03.1-ce
 API version:  1.27
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Mon Mar 27 17:14:09 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.03.1-ce
 API version:  1.27 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Mon Mar 27 17:14:09 2017
 OS/Arch:      linux/amd64
 Experimental: false

sudo 無しで docker を実行する

docker グループにユーザーを追加すればいい。
docker グループ存在確認。

cat /etc/group | grep docker

存在しなければ、作成。

sudo groupadd docker

現在のユーザーをdockerグループに追加する。

sudo gpasswd -a $USER docker

docker 再起動すればsudoなしでdockerコマンドを実行できる。
もし、permission deniedという警告が出たら下記実行。

sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "/home/$USER/.docker" -R

docker-compose インストー

Releases · docker/compose · GitHub
ここで最新バージョンを確認し、下記実行。

sudo -i
curl -L "https://github.com/docker/compose/releases/download/1.14.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

バージョンを確認して完了。

docker-compose version

Docker Hub に登録して GitHubと連携させる

https://hub.docker.com/
Docker Hubにアカウントを新規作成し、DockerfileのAutomated Buildを設定する。
Automated Buildとは、Dockerイメージの元となるDockerfileをDocker Hubのビルドクラスターに読み込ませ、
Dockerイメージを作成、Docker Hubリポジトリで公開する仕組み。
これで対象のGitHubリポジトリが更新されたら自動でDockerイメージが作成される。
いまさら聞けないDocker入門(終):Docker Hubの使い方とGitHubからのDockerイメージ自動ビルド (2/2) - @IT

Dockerfile

力尽きたので次回。
Dockerでの環境構築が整ったら、EC2にデプロイする。