見出し画像

Dockerのunable to resolve docker endpointエラーの対処法

どうもひっきーです。Udemyの教材を使って、docker-machineについて学習をしているときに遭遇したエラーの対処方についてまとめました。また、Dockerを学習し始めて間もないので、理解できていない部分の方が多いのですが、今後また出くわしそうなエラーのため対処法を残しておきます。

エラー内容

dockerの基本コマンドを実行すると次のエラーが出る


unable to resolve docker endpoint: open /Users/username/.docker/machine/machines/mhs-demo0/ca.pem: no such file or directory

どうやらdockerのエンドポイントに関するエラーで、この状態だと

docker images
docker ps

といったコマンドで全て上記のエラーが出てしまい、何もできない状態になってしまいました。

原因

mhs-demo0というdocker-machineを作成した後に、色々と設定を間違えたためにマシンを消去してしまったが、環境変数の適応コマンドで以下を実行していたため、存在しないdocker-machineの環境変数が参照されていたため。

eval $(docker-machine env mhs-demo0)
env | grep DOCKER
DOCKER_TLS_VERIFY=1
DOCKER_HOST=tcp://192.168.99.103:3376
DOCKER_CERT_PATH=/Users/username/.docker/machine/machines/mhs-demo0 
DOCKER_MACHINE_NAME=mhs-demo0 

解決策

defaultのdocker-machineの環境変数を適応する。

docker-machineにdefaultのものがない場合は、defaultを作ります。

docker-machine create default

その後、環境変数をdefaultに適応させます。

eval $(docker-machine env default)

改めて環境変数を確認すると、

env | grep DOCKER                                                                                                                          
DOCKER_TLS_VERIFY=1
DOCKER_HOST=tcp://192.168.99.106:2376
DOCKER_CERT_PATH=/Users/username/.docker/machine/machines/default
DOCKER_MACHINE_NAME=default

この状態でdockerコマンドを実行すると、

 docker ps                                                                                                                                  
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES                                                                             

いつもの画面が表示されるようになりました。

続いてもう一つのエラーで、mhs-demo0という名前のdocker-machine以下のようなエラーが発生していました。

mhs-demo0   -        virtualbox   Running                               mhs-demo0 (master)   Unknown    ssh command error:
command : ip addr show
err     : exit status 255
output  :

この対処法としては以下の記事を参考にしました。

エラーの出ているマシンを再生する以下のコマンドによって解消されました。

docker-machine regenerate-certs -f mhs-demo0

Dockerは初学者の私にはまだまだ複雑なので、エラーが出ても冷静に対処していきたいです。



この記事が気に入ったらサポートをしてみませんか?