20210917のMacに関する記事は1件です。

Docker Desktopを使わないDockerのインストール for Mac

Docker Desktopの代替方法 Docker Desktopが有料化ということで、Docker Desktopが使えない場合、代替方法についてのメモ。 Dockerの仕組み 普段使っているDocker=Docker Engineであり、Dockerデーモンによって構成されるクライアント・サーバーアプリケーションである。このDocker EngineはLinux上でしか対応していないので、MacやWindowsでは直接起動できない。そのためDoker Desktopで仮想環境を構築して、そこで起動している。 なので、仮想環境を用意すれば良いということ。 今回はVirtualBoxとDocker Machineを使って起動する。 前提 Docker Desktopがインストールされていない環境の前提です。 Docker DesktopをインストールするとDocker Engineとかも一緒にインストールされてしまっているので、この方法を実行するとうまくいかない可能性があります。 こちらの方法を実行する前にアンインストールすることを推奨します。 1. Homebrew Homebrew使ってインストールしていくので、以下を参照してインストール。 2. Dockerインストール HomebrewでDocker(Docker Engine)をインストールします。 caskのDockerはDocker Desktopなので注意。 以下のコマンドでインストール brew install docker 3. Docker Machineをインストール Docker Machineは仮想マシン上にDocker Engineをインストールするツール。 これを使ってVirtulboxにDockerをインストールします。 以下のコマンドでインストール brew install docker-machine 4. ViutualBoxのインストール 仮想マシンを起動するためにViutualBoxをインストールします。 以下からインストールしてください。 5. Docker Machineを使って仮想マシンを作成 準備ができたのでDocker Machineを使って仮想マシンを作成します。 まずは仮想マシンの一覧を見てみます。 仮想マシン一覧 docker-machine ls 結果 NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS 何も作成されていないのが確認できます。 仮想マシンの作成は以下のコマンドで作成します。 仮想マシンを作成 docker-machine create --driver virtualbox default default は仮想マシンの名前になります。 既に default が存在している場合は別の名前にします。 作成後にもう一度 ls してみます。 仮想マシン一覧 $ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default - virtualbox Running tcp://192.168.99.100:2376 v19.03.12 作成が確認できました。 6. 環境変数を設定 Dockerコマンドでコンテナを構築する前に、Dockerの接続先等の環境変数をセットする必要があります。 以下のコマンド実行で一括設定できます。 環境変数を設定 eval "$(docker-machine env default)" docker-machine env default で必要な環境変数がエクスポートされるので上記で簡単にセットできます。 仮想マシンの再起動やシェルの再起動で毎回実行が必要になります。 毎回の設定が面倒な場合以下のように.zshrcとかに記載しても良いかもしれないですね。 毎回実行面倒な人用 echo 'eval "$(docker-machine env default)"' >> ~/.zshrc 7. コンテナを起動してみる これでおおよそ完了したのでコンテナを起動してみます。 docker pull swaggerapi/swagger-editor docker run -d -p 8080:8080 swaggerapi/swagger-editor swagger-editorを起動してみました。 確認してみましょう。 接続先は仮想マシンのIPを指定する必要があります。 以下のコマンドでわかります。 IPアドレスを確認 docker-machine ip default 結果 192.168.99.100 まあ、docker-machine ls で表示されたURLのIPアドレスとと同じになると思います。 http://192.168.99.100:8080 で接続すると確認できるかと思います。 8. localhostで接続したい いちいちIPアドレス覚えておくのも調べるのも面倒なので、localhostで繋ぎたいと思ったはず。 そんなときはVirtualBoxのポートフォアーディング使いましょう。 VirtualBoxを開くとdefaultマシンがあるのでそちらの設定を表示。 ”ネットワーク”の”アダプター1”で”高度”を開いて怪しいフォントの”ポートフォアーディング”を選択。 ここにポート設定を添付の画像のように記載。 今回はlocalhost(127.0.0.1)の8080ポートを仮想マシンの8080ポートに転送する。 これでOKをクリックすれば完了です。 http://localhost:8080 いざ接続してみましょう。 成功しました! 9. 仮想マシンの起動とか停止 しばらく使用しない場合や都度都度実行&停止したい時は以下を仮想マシンを停止します。 仮想マシンを停止したい場合は以下を実行します。 停止 docker-machine stop default 起動は以下。 起動 docker-machine start default おわり 上記でだいたいできるとは思っています。 まあ、Docker Desktop利用できる人はそのままDocker Desktop使った方が簡単であるし、Docker応援するためにお金は払った方が良い。 参考
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む