boot2docker
dockerformac

boot2docker から Docker for Mac へ移行したら docker コマンドがなにかおかしい時のメモ

ずいぶん前に MacBook に Docker 使える環境を整備しましたが、目的を達したあと長らく放置していました。

最近また必要に迫られて使おうとしたところ、いろいろ頭から抜けていたので軽く調べていたら、環境整備当時は boot2docker だったデファクトスタンダードが昨今は Docker for Mac だということなので移行してみました。

移行自体はスムーズに終わった、と思うのですが docker コマンドの反応が何かおかしくなってしまいました。

症状

  • docker -v で30秒以上待つ状態になってしまった
  • docker -v は遅いとはいえバージョン出力自体は正常に表示される
  • docker ps -a すると Cannot connect to the Docker daemon at tcp://192.168.xx.xxx:2376. Is the docker daemon running? となる

解決した方法

boot2docker を使っていた時にセットしていた環境変数を unset するのを忘れていたのが原因のようです。

すっかり忘れていましたが、毎回コマンドラインで入力するのが面倒だったので、boot2docker 利用時に以下のように設定していました。

.zshenv
# set Docer env vals
export DOCKER_HOST=tcp://192.168.xx.xxx:2376
export DOCKER_CERT_PATH=/Users/xxxx/.boot2docker/certs/boot2docker-vm
export DOCKER_TLS_VERIFY=1

私の場合はこれを削除し、シェルを起動しなおしたら解決しました。

参考

https://stackoverflow.com/questions/25234792/what-does-the-docker-host-variable-do