![見出し画像](https://assets.st-note.com/production/uploads/images/18344021/rectangle_large_type_2_99b32bcee2ae991e1da3be2a8dd4000c.png?width=1200)
Photo by
novi0701
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は初学者の私にはまだまだ複雑なので、エラーが出ても冷静に対処していきたいです。
この記事が気に入ったらサポートをしてみませんか?