Docker Toolboxをインストールすると導入されるKitematic。
環境やバージョンによって「DOCKER CLI」からdockerコマンドを実行すると下の様なメッセージがでて怒られる場合があります。
Get http:///var/run/docker.sock/v1.20/containers/json: dial unix /var/run/docker.sock: no such file or directory.
* Are you trying to connect to a TLS-enabled daemon without TLS?
* Is your docker daemon up and running?
こんな時は、Dockerの環境変数が有効となっていないので、次のコマンドをCLI(Windowsの場合はコマンドプロンプト)で実行します。(machine名のdefaultは環境に合わせて変更してください。)
1.OS Xの場合
1.1.docker-machineの設定確認
docker-machine env default
↑の実行結果例↓
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/Users/xxxxxxxx/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell:
# eval "$(docker-machine env default)"
1.2.docker-machineの設定を反映
「eval "$(docker-machine env default)"」をCLI上で実行。
これで、dockerコマンドが正常に機能します。
2.Windowsの場合
注意:Kitematicの「DOCKER CLI」からは現在デフォルトの設定では有効とならないためWindowsのコマンドプロンプトから実行します。
2.1.失敗した例:「docker ps」の実行
> docker ps
An error occurred trying to connect: Get https://127.0.0.1:2375/v1.20/containers/json: dial tcp 127.0.0.1:2375: ConnectEx tcp: No connection
could be made because the target machine actively refused it.
2.2.docker-machineの設定確認
> docker-machine env default --shell cmd
set DOCKER_TLS_VERIFY=1
set DOCKER_HOST=tcp://192.168.99.100:2376
set DOCKER_CERT_PATH=C:\Users\xxxxxxxx\.docker\machine\machines\default
set DOCKER_MACHINE_NAME=default
# Run this command to configure your shell:
# copy and paste the above values into your command prompt
2.3.上の環境変数をコマンドプロンプトへコピペ
> set DOCKER_TLS_VERIFY=1
> set DOCKER_HOST=tcp://192.168.99.100:2376
> set > DOCKER_CERT_PATH=C:\Users\xxxxxxxxi\.docker\machine\machines\default
> set DOCKER_MACHINE_NAME=default
2.4.動作確認:「docker ps」の実行
>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
無事dockerコマンドが実行されました。