概要
今まで触る機会がなかったけど、ついにDockerに触らなくてはならない事になったので自分用メモ。
とりあえずインストールと軽く使って見るところまでをメモ。環境はmacOS 10.13.6。
Dockerのインストール
-
https://docs.docker.com/docker-for-mac/install/
- 上記URLからインストーラをダウンロードする
- Docker Storeなるもののアカウントが必要
- アカウントができたら以下のURLからダウンロードできる
- https://store.docker.com/editions/community/docker-ce-desktop-mac
- Docker.dmgをダブルクリックしてD&Dすればインストールは完了
- Docker.appをダブルクリックして起動する
- 以下のコマンドを実行して正常にインストールされているかを確認する
$ docker version
Client:
Version: 18.06.1-ce
API version: 1.38
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:21:31 2018
OS/Arch: darwin/amd64
Experimental: false
Server:
Engine:
Version: 18.06.1-ce
API version: 1.38 (minimum version 1.12)
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:29:02 2018
OS/Arch: linux/amd64
Experimental: true
Docker Composeのインストール
Docker ComposeはDockerの構成ツール。
詳しくはよくわからないけど、yamlファイル書けばシステムの構成をかけてコマンド一発でビルドとかができる便利なやつ。
- 以下のコマンドでインストール
# [version]の部分は最新の安定版とかを指定する
$ curl -L https://github.com/docker/compose/releases/download/[version]/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose
- 以下のコマンドで確認
$ docker-compose version
docker-compose version 1.22.0, build f46880f
docker-py version: 3.4.1
CPython version: 3.6.4
OpenSSL version: OpenSSL 1.0.2o 27 Mar 2018
Tips
Bad respose from Docker engine
最初にdocker version
のコマンドを叩いたときに以下のようなエラーが出た
> docker version
Client:
Version: 18.06.1-ce
API version: 1.38
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:21:31 2018
OS/Arch: darwin/amd64
Experimental: false
Error response from daemon: Bad response from Docker engine # ← この部分がエラー
抜き出すとコレ
Error response from daemon: Bad response from Docker engine
Macの場合、Dockerアプリから「Reset to factory default」ってボタンをクリックすれば治るっぽい。
preferences... > Reset > Reset to factory defaults (上から3つ目のボタン)
ERROR: Network auto-diagnosis_default declared as external
以下のコマンド叩いたらエラーが出た。
> docker-compose up --build
ERROR: Network auto-diagnosis_default declared as external, but could not be found. Please create the network manually using `docker network create auto-diagnosis_default` and try again.
エラー文言の通りに以下のコマンドを叩いたら治った。
$ docker network create auto-diagnosis_default
Dockerを使ってみた所感
いろいろ便利。Docker Composeはいいね。
ただ、Dockerは最低限必要な状況のみで使っていきたいね。
コンテナ型と言っても起動は遅いし、HMRもローカルでやるよりもっさりしてる。
※ フロントエンドの開発だけだったらVM立ち上げる必要もないし