Anker PowerCor
旅行には必須の大容量モバイルバッテリー!
ペヤング ソースやきそば 120g×18個
とりあえず保存食として買っておけば間違いなし!
レッドブル エナジードリンク 250ml×24本
翼を授けよう!
モンスターエナジー 355ml×24本 [エナジードリンク]
脳を活性化させるにはこれ!
ドラゴンクエスト メタリックモンスターズギャラリー メタルキング
みんな大好き経験値の塊をデスクに常備しておこう!
BANDAI SPIRITS ULTIMAGEAR 遊戯王 千年パズル 1/1スケール
もう一人の僕を呼び覚ませ!!
サンディスク microSD 128GB
スマホからSwitchまで使える大容量MicroSDカード!
スポンサーリンク
目次
Docker for macが動かない
先日、MacBookPro 2019を購入したのですが、Docker環境を整えようとHomebrew CaskでDocker for macを入れて起動しようと思ったのですが、なぜかDocker Desktop is Starting...
のまま先に進まない現象が発生しました。orz
特に変な作業をしたわけでもないため、なぜなのか原因が分からず解決出来なかったため、自前でDockerホストを動かすことでなんとかDockerを使えるようになりました。
今回はその時の対応方法を備忘録として記事にまとめてみようと思います。
手順
前提
Docker関連については、以下のコマンドのみ実行し、dockerやdocker-compose、docker-machineなどはHomebrewでは入れずにDocker for macの中でインストールさせています。
また、環境としてはそれぞれのコマンドは使えるが、以下のようにDockerへの接続が出来ない状態となっています。
1 |
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? |
Virtualboxのインストール
解決するには、自前でdocker-machineでDocker Engineを整える必要がありそうでした。
なので、まずはvirtualboxをインストールしましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
==> Caveats To install and/or use virtualbox you may need to enable its kernel extension in: System Preferences → Security & Privacy → General For more information refer to vendor documentation or this Apple Technical Note: https://developer.apple.com/library/content/technotes/tn2459/_index.html ==> Satisfying dependencies ==> Downloading https://download.virtualbox.org/virtualbox/6.0.8/VirtualBox-6.0.8-130520-OSX.dmg Already downloaded: /Users/blogenist/Library/Caches/Homebrew/downloads/130d78b88001e8d144b4c39fedf0caa739515abf930f870f90f440eaf644ea8c--VirtualBox-6.0.8-130520-OSX.dmg ==> Verifying SHA-256 checksum for Cask 'virtualbox'. ==> Installing Cask virtualbox ==> Running installer for virtualbox; your password may be necessary. ==> Package installers may write to any location; options such as --appdir are ignored. Password: installer: Package name is Oracle VM VirtualBox installer: Upgrading at base path / installer: The upgrade was successful. 🍺 virtualbox was successfully installed! |
docker-machineにdefaultを作成
次に、dockerr-machineにdefault
のDocker Engineを作成します。
以下のコマンドで作成しましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Running pre-create checks... Creating machine... (default) Copying /Users/blogenist/.docker/machine/cache/boot2docker.iso to /Users/blogenist/.docker/machine/machines/default/boot2docker.iso... (default) Creating VirtualBox VM... (default) Creating SSH key... (default) Starting the VM... (default) Check network to re-create if needed... (default) Waiting for an IP... Waiting for machine to be running, this may take a few minutes... Detecting operating system of created instance... Waiting for SSH to be available... Detecting the provisioner... Provisioning with boot2docker... Copying certs to the local machine directory... Copying certs to the remote machine... Setting Docker configuration on the remote daemon... Checking connection to Docker... Docker is up and running! To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env default |
環境変数の登録
次に、先ほど作成したdefault環境の各変数を以下のコマンドで反映しましょう。
今回はfish shellを使っているので以下のコマンドとなります。
1 |
eval (docker-machine env default) |
ここまで行うことで、以下のコマンドでDockerへの接続が通るようになります。
1 |
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES |
確認
では、実際に適当なdocker-compose.yml
を作成して起動してみましょう。
1 2 3 4 5 6 7 8 9 |
Creating network "sample_default" with the default driver Building app Step 1/7 : FROM node:10.8.0-stretch ... (略) ... Successfully built 8cb3c66f9f22 Successfully tagged sample_app:latest Creating sample_app_1 ... done |
1 2 |
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 092031f2edfe sample_app "node" 4 seconds ago Up 4 seconds 0.0.0.0:3000->3000/tcp sample_app_1 |
正常に動きましたね♪
終わりに
Docker for macが使えないときはどうなるかと思いましたが、とりあえずこれでDockerを使った開発は出来そうなので一件落着です。
原因については分かったら追記しますが、同じようにお困りの方がいましたらぜひ参考にしてみてください♪