Docker Compose導入
事前に、Dockerを導入している必要があります。
参考URL:
完全に新しい分野と横目で見ていたコンテナなりDockerという世界。
絶対導入をおすすめですね。
導入時間の短縮、環境自体のモビリティ(移動性)、災害対応向けシステムの構築の用意性、たくさんの観点で導入をおすすめします。
場合によっては、パブリッククラウドへの移行やパブリッククラウド間の移動も簡単になります。(実質、依存パッケージの個別のインストール作業なりが不要となります)
今後、性能、セキュリティなどを見ていこうと思いますが、ドキュメントなりで調べている範囲では、アプリケーションやサービスを提供する上で、必要なもののみを独自環境(コンテナ)に導入する方法は、非常に理にかなっていると思います。
Docker Compose 導入
Docker Compressのインストール方法をWEBなどで調べているとPipやaptでインストールなど、環境などにより各種導入方法が準備されています。
気にする必要があるのは、Cocker Composeのバージョンとなります。
利用したいコンテナのビルドが失敗する場合などは、バージョンを確認して下さい。
Docker Compressインストール参考URL: Install Docker Compose
Ubuntu に Docker Composeを aptで導入
Ubuntu環境で、docker-composeコマンドを実行すると、aptコマンドでのインストール方法がガイドされましたので、aptコマンドを利用してdocker composeを導入しました。結論ですが、バージョンが古く、次に紹介する公式レポジトリから直接導入する方法で、再度上書きインストールしております。
@Intel-NUC:~$ docker-compose プログラム 'docker-compose' はまだインストールされていません。 次のように入力することでインストールできます: sudo apt install docker-compose
さっそく、aptコマンドでインストールしてみると、無事にインストールすることができました。
root@Intel-NUC:~# apt install docker-compose パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下のパッケージが自動でインストールされましたが、もう必要とされていません: apt-clone archdetect-deb cifs-utils dmeventd dmraid gir1.2-clutter-1.0 gir1.2-clutter-gst-3.0 gir1.2-cogl-1.0 gir1.2-coglpango-1.0 gir1.2-gtkclutter-1.0 gir1.2-networkmanager-1.0 gir1.2-nma-1.0 gir1.2-timezonemap-1.0 gir1.2-xkl-1.0 kpartx kpartx-boot libdbusmenu-gtk4 libdebian-installer4 libdevmapper-event1.02.1 libdmraid1.0.0.rc16 libllvm5.0 liblvm2app2.2 liblvm2cmd2.02 libparted-fs-resize0 libqpdf17 libreadline5 linux-headers-oem linux-signed-image-generic-hwe-16.04 linux-signed-image-oem localechooser-data lvm2 python3-icu python3-pam rdate snapd-login-service user-setup これを削除するには 'apt autoremove' を利用してください。 以下の追加パッケージがインストールされます: python-backports.ssl-match-hostname python-cached-property python-cffi-backend python-chardet python-cryptography python-docker python-dockerpty python-docopt python-enum34 python-funcsigs python-functools32 python-idna python-ipaddress python-jsonschema python-mock python-ndg-httpsclient python-openssl python-pbr python-pkg-resources python-pyasn1 python-requests python-six python-texttable python-urllib3 python-websocket python-yaml 提案パッケージ: python-cryptography-doc python-cryptography-vectors python-enum34-doc python-funcsigs-doc python-mock-doc python-openssl-doc python-openssl-dbg python-setuptools python-ntlm 推奨パッケージ: docker.io 以下のパッケージが新たにインストールされます: docker-compose python-backports.ssl-match-hostname python-cached-property python-cffi-backend python-chardet python-cryptography python-docker python-dockerpty python-docopt python-enum34 python-funcsigs python-functools32 python-idna python-ipaddress python-jsonschema python-mock python-ndg-httpsclient python-openssl python-pbr python-pkg-resources python-pyasn1 python-requests python-six python-texttable python-urllib3 python-websocket python-yaml アップグレード: 0 個、新規インストール: 27 個、削除: 0 個、保留: 0 個。 1,441 kB のアーカイブを取得する必要があります。 この操作後に追加で 7,393 kB のディスク容量が消費されます。 続行しますか? [Y/n] y 取得:1 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 python-pkg-resources all 20.7.0-1 [108 kB] 取得:2 http://jp.archive.ubuntu.com/ubuntu xenial/universe amd64 python-cached-property all 1.3.0-1 [6,976 B] 取得:3 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 python-six all 1.10.0-3 [10.9 kB] 取得:4 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main amd64 python-urllib3 all 1.13.1-2ubuntu0.16.04.3 [58.4 kB] 取得:5 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 python-chardet all 2.3.0-2 [96.3 kB] 取得:6 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main amd64 python-requests all 2.9.1-3ubuntu0.1 [55.9 kB] 取得:7 http://jp.archive.ubuntu.com/ubuntu xenial/universe amd64 python-backports.ssl-match-hostname all 3.4.0.2-1 [6,258 B] 取得:8 http://jp.archive.ubuntu.com/ubuntu xenial/universe amd64 python-websocket all 0.18.0-2 [165 kB] 取得:9 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 python-ipaddress all 1.0.16-1 [18.0 kB] 取得:10 http://jp.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 python-docker all 1.9.0-1~16.04.1 [29.9 kB] 取得:11 http://jp.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 python-dockerpty all 0.4.1-1~16.04.1 [10.9 kB] 取得:12 http://jp.archive.ubuntu.com/ubuntu xenial/universe amd64 python-docopt all 0.6.2-1build1 [25.6 kB] 取得:13 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 python-enum34 all 1.1.2-1 [35.8 kB] 取得:14 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 python-functools32 all 3.2.3.2-2 [10.7 kB] 取得:15 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 python-funcsigs all 0.4-2 [12.6 kB] 取得:16 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 python-pbr all 1.8.0-4ubuntu1 [46.6 kB] python-docker (1.9.0-1~16.04.1) を設定しています ... python-dockerpty (0.4.1-1~16.04.1) を設定しています ... python-docopt (0.6.2-1build1) を設定しています ... python-enum34 (1.1.2-1) を設定しています ... python-functools32 (3.2.3.2-2) を設定しています ... python-funcsigs (0.4-2) を設定しています ... python-pbr (1.8.0-4ubuntu1) を設定しています ... update-alternatives: /usr/bin/pbr (pbr) を提供するために自動モードで /usr/bin/python2-pbr を使います python-mock (1.3.0-2.1ubuntu1) を設定しています ... python-jsonschema (2.5.1-4) を設定しています ... update-alternatives: /usr/bin/jsonschema (jsonschema) を提供するために自動モードで /usr/bin/python2-jsonschema を使います python-texttable (0.8.1-1) を設定しています ... python-yaml (3.11-3build1) を設定しています ... docker-compose (1.8.0-2~16.04.1) を設定しています ... python-cffi-backend (1.5.2-1ubuntu1) を設定しています ... python-idna (2.0-3) を設定しています ... python-pyasn1 (0.1.9-1) を設定しています ... python-cryptography (1.2.3-1ubuntu0.2) を設定しています ... python-openssl (0.15.1-2ubuntu0.2) を設定しています ... python-ndg-httpsclient (0.4.0-3) を設定しています ...
root@Intel-NUC:~# docker-compose -v docker-compose version 1.8.0, build unknown
curlコマンドを用いたDocker Compse導入
Docker Compressインストール参考URL: Install Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
アクセス権の変更
sudo chmod +x /usr/local/bin/docker-compose
miki@Intel-NUC:~/webserver$ docker-compose --version docker-compose version 1.24.1, build 4667896b
これで、Docker Composeが利用可能になります。
次の記事で、Docker Compseを用いたWordpressの導入方法を紹介します。