Docker Desktop (Windows Home)をインストールして動かした(そしてはまった)

DockerをRaspberry Piにいれてみようとしてますが、WindowsでもDockerが使えるようになったと聞き、さっそく入れてみます。

【入門】はじめての Docker Desktop for Windows のインストールと CentOS の仮想環境構築のセットアップ を参考に進めました。途中はまったところは、WSL2にアップグレードしていなかったせいで、そもそもDockerが立ち上がらない、というものでしたが、Windows10 HomeのWSLをWSL2にアップグレードしてみた を参考にアップグレードし、無事に進めました。

Dockerを入れた理由は、Tensorflowを環境構築無しで使えるからです。Docker入門 ~Tensorflowも超簡単に!!~ この記事を見てなんてすばらしいんだと思ったからです。そしてこの記事通りに進め、jupyter labをインストールし、

root@2399c584d711:/# jupyter lab --ip=0.0.0.0 --allow-root

を実行し、無事にjupyter labにアクセスできました。

ここまでは順調でした。その日、dockerのコンテナを保存することを知らず、そのままPCの電源を落とし、次の日、立ち上げ、Dockerに接続しようとしました。この時、コンテナの中にTensorflowがいなかったため、Docker DesktopのImagesの中から、

画像1

でRUNを押し、1228という名前で動かしました。そしてもう一度jupyter labをインストールし、接続してみようとすると…

画像2

あれれ、アクセスできなくなってしまったのです。

前日と異なる点を思い返すと、Windows Power shellからDockerのコンテナを起動していないことを思い出し、使用したコマンドを見返すと

PS C:\Users\yuuta> docker run --rm -it -p 8888:8888 tensorflow/tensorflow:latest-py3

となっていました。間違いなく、このpオプションでポートを指定しています。一方、Docker DesktopからRUNするとき、ポートを指定していませんでした。Docker DesktopのRUN時にポートを選択できると思い、オプションを見てみると、

画像3


このように出て、ポートを指定することはできないみたいです。仕方なく、Windows Power shellで

PS C:\Users\yuuta> docker run --name tensorflow-container -it -p 8888:8888 tensorflow/tensorflow:latest-py3

として、コンテナを立ち上げました。ちなみに、ポート指定して立ち上げたコンテナは、

画像4

のように、PORT:8888 が追加されて表示されます。これで一件落着。

いいなと思ったら応援しよう!