20
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

Organization

「DOCKER CLI」で、”接続を拒否されました”的なことを言われた場合の対処方法

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コマンドが実行されました。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
20
Help us understand the problem. What are the problem?