Docker for Macを使わないと決めたあなたへ(1)〜docker-machineコマンドが使えるまで〜
この記事の続きはこちら
Docker for Macを使わないと決めたあなたへ(2)〜docker-machine上でhubot-slackコンテナを立ち上げてみる〜
Docker for Macは遅いと言われており、実際に苦しんだ経験をお持ちの方もおられるでしょう。
そんなあなたへ、以下記事を参考にdocker-machineコマンドを使って、Docker for Macを使わずにMacでDocker環境を構築する方法を紹介します
参考:Macに素のDockerをHomebrewでインストールする
※docker-machineはもうサポートされないことが決定しています、あくまでこの流れに抗う方のみ参考にされてください。
参考;Docker Machine
最終的な全体像はこちら
docker-toolboxをインストール
% brew install docker-toolbox ... ... 🍺 docker-toolbox was successfully installed!
「docker-machine create –driver virtualbox 【マシン名】」のコマンドでDocker Machineが立ち上がるはずがエラー発生
% docker-machine create --driver virtualbox dockerMachineTest ... ... (dockerMachineTest) This is a known VirtualBox bug. Let's try to recover anyway... Error creating machine: Error in driver during machine creation: Error setting up host only network on machine start: The host-only adapter we just created is not visible. This is a well known VirtualBox bug. You might want to uninstall it and reinstall at least version 5.0.12 that is is supposed to fix this issue
こちらのリンクを参照したところ、Macの「System Preferences > Security & Privacy」から許可が必要とのこと
VBoxManage: error: Failed to create the host-only adapter [closed]
「System software from developer “Oracle America, Inc.” has been updated」と書かれているので、
鍵のマークをクリックして設定変更できる状態になったら「Allow」ボタンをクリック
このあとMacの再起動をする
再起動したら、先程の中途半端に作られているdocker-machineは消しておく
% docker-machine create --driver virtualbox dockerMachineTest Docker machine "dockerMachineTest" already exists % docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS dockerMachineTest - virtualbox Stopped Unknown % docker-machine rm dockerMachineTest About to remove dockerMachineTest WARNING: This action will delete both local reference and remote instance. Are you sure? (y/n): y Successfully removed dockerMachineTest % docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
気を取り直してもう一回やってみるがエラー
% docker-machine create --driver virtualbox dockerMachineTest ... ... (dockerMachineTest) Found a new host-only adapter: "vboxnet3" Error creating machine: Error in driver during machine creation: Error setting up host only network on machine start: /usr/local/bin/VBoxManage hostonlyif ipconfig vboxnet3 --ip 192.168.99.1 --netmask 255.255.255.0 failed: VBoxManage: error: Code E_ACCESSDENIED (0x80070005) - Access denied (extended info not available) VBoxManage: error: Context: "EnableStaticIPConfig(Bstr(pszIp).raw(), Bstr(pszNetmask).raw())" at line 242 of file VBoxManageHostonly.cpp
こちらのリンクを参考にしたところ、Virtualboxのバージョンを落とした方が良さそう
big surにしたらVirtualBoxがエラー吐いてへそ曲げた
virtualboxをアンインストール
% brew uninstall virtualbox ... ...
brewは過去バージョンインストールできないので、やむなし
公式ページから6.1.26をダウンロードする
https://www.virtualbox.org/wiki/Download_Old_Builds_6_1
またdocker-machineは消しておく
% docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS dockerMachineTest - virtualbox Stopped Unknown % docker-machine rm dockerMachineTest About to remove dockerMachineTest WARNING: This action will delete both local reference and remote instance. Are you sure? (y/n): y Successfully removed dockerMachineTest % docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
再トライ
% docker-machine create --driver virtualbox dockerMachineTest ... ... (dockerMachineTest) Creating a new host-only adapter produced an error: /usr/local/bin/VBoxManage hostonlyif create failed: (dockerMachineTest) 0%... (dockerMachineTest) Progress state: NS_ERROR_FAILURE (dockerMachineTest) VBoxManage: error: Failed to create the host-only adapter (dockerMachineTest) VBoxManage: error: VBoxNetAdpCtl: Error while adding new interface: failed to open /dev/vboxnetctl: No such file or directory (dockerMachineTest) VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component HostNetworkInterfaceWrap, interface IHostNetworkInterface (dockerMachineTest) VBoxManage: error: Context: "RTEXITCODE handleCreate(HandlerArg *)" at line 95 of file VBoxManageHostonly.cpp (dockerMachineTest) (dockerMachineTest) This is a known VirtualBox bug. Let's try to recover anyway... Error setting up host only network on machine start: The host-only adapter we just created is not visible. This is a well known VirtualBox bug. You might want to uninstall it and reinstall at least version 5.0.12 that is is supposed to fix this issue
Virtualbox入れ直したから、また再起動が必要そう
先程の手順で、System Preferences > Security & Privacyから許可する
Mac再起動
またまたdocker-machineは消しておく
% docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS dockerMachineTest - virtualbox Stopped Unknown % docker-machine rm dockerMachineTest About to remove dockerMachineTest WARNING: This action will delete both local reference and remote instance. Are you sure? (y/n): y Successfully removed dockerMachineTest % docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
改めて起動してみるとできた!
% docker-machine create --driver virtualbox dockerMachineTest ... ... 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 dockerMachineTest
「docker-machine ssh 【マシン名】」で中に入ると、謎のアイコンがお出迎え
% docker-machine ssh dockerMachineTest ( '>') /) TC (\ Core is distributed with ABSOLUTELY NO WARRANTY. (/-_--_-\) www.tinycorelinux.net docker@dockerMachineTest:~$
続きはこちら
Docker for Macを使わないと決めたあなたへ(2)〜docker-machine上でhubot-slackコンテナを立ち上げてみる〜