この記事は、「オンプレミス、Kubernetesで、マイクロサービスを意識したWebアプリをデプロイするまでの軌跡」の一部です。
はじめに
Kubernetesを使うにしても、まずはコンテナソフトウェアであるDockerを入れないと始まりません。
例のごとくUbuntuの上に、Dockerをインストールする手順を紹介します。
Dockerのインストール
Ubuntu公式リポジトリにもDockerはあるのですが、ここでは公式の方法に従ってDocker公式がメンテナンスしているDockerCEをインストールします。
まずはおなじみのこのコマンドから。
$ sudo apt update
前提ソフトウェアのインストールという事で以下のパッケージをインストールするのですが、僕の環境ではすでに入っていました。
$ sudo apt install -y \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
GPG 公開鍵のインストールして、フィンガープリントを確認します。
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
pub 4096R/0EBFCD88 2017-02-22
Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid Docker Release (CE deb) <docker@docker.com>
sub 4096R/F273FCD8 2017-02-22
Docker公式のaptリポジトリを設定します。
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
そして満を持してDockerCEのインストール。
$ sudo apt update
$ sudo apt install -y docker-ce
これでDockerCEのインストールは完了です。
お疲れ様でした!
httpなプライベートDockerレジストリからイメージを使う場合
デフォルトだと、dockerはhttps通信でコンテナファイルを取得しに行こうとします。
特にオンプレミスでDockerレジストリを構築してイントラのみで運用している場合、SSLの証明書を最近流行りのLet's encryptで取得することが出来ないので、httpのままになっている事が多いと思います。
以下のように設定ファイルを編集する事で、http通信でのコンテナファイル取得が出来るようになります。
$ sudo nano /etc/docker/daemon.json
{ "insecure-registries":["<dockerレジストリのip>:<ポート>"] }
$ sudo service docker restart
僕の環境では/etc/docker/daemon.json
は存在しなかったので、新たに作る形になりました。
docker-composeのインストール
インストールしたdocker
コマンドを直接使ってコンテナを起動しても良いのですが、起動の度にオプションを指定したり、いくつも立ち上げたりするのが面倒な事があります。
docker-compose
はdocker-compose.yamlというファイルに設定を書き込み、そのファイルを元にコンテナを起動してくれるアプリケーションです。ファイルになるので後で使いまわす事も、Git等でバージョン管理する事もでき、とても便利です。
Docker本体とは違って、aptを使ってインストールすることが出来ません。
プログラムを直接DLしてパスの通ったところにインストールします。
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
直接DLになるので、最新バージョンナンバーは以下で確認して下さい。
DLしたら、実行権限を付与します。
sudo chmod +x /usr/local/bin/docker-compose
以上です。
お疲れさまでした!
参考
Ubuntuにdockerをインストールする
Get Docker CE for Ubuntu
Install Docker Compose