win10 + wsl Ubuntu + DockerDesktop 入門してみた恥ずかしいけど記録しないと学べないから書きます..

docker desktop for windows + WSL で docker 環境 - Qiita

手順の「Expose daemon on tcp://localhost:2375 without TLS
この後で一回 docker Desktopをrestartしないと反映されないみたいだった

今回は使う予定なかったけどとりあえず↑この手順でdocker-compose導入まで 他に躓くことはなく、手順通りコピペしてくだけで概ねうまくいった

そのあとは以下の手順参考にnginxでhtml手書きファイルでサービスとれるかどうかところまでやろうとしたところで..
[Docker] Docker でNginx を起動して Web ページを表示する | HIROs.NET Blog

「Wellcome to nginx!」表示までは手順通り特に他にすることなかった
(その後が結構苦労してしまった...たぶんwin10にもwsl自体にも慣れてなかったのが大きいぽい仕事はmacなので)
手順通りにこのコマンドで$HOME配下をマウントしようと思ったら

docker run --name hello-nginx -v /Users/${whoami}/web:/usr/share/nginx/html:ro -d -p 8080:80 nginx

コンテナ起動はするもののマウントがうまくいかない.....
コンテナへログインしてファイル確認すると Wellcome to nginx ではマウントされてたindex.html等がls参照できない。マウントがおかしいっぽい

マウントについて確認しなおし。まずwslとWin10のファイルは普通に相互から同じものが見える(これは普通にすごい)のが前提で
WSLとwindows間のファイル連携 - Qiita
その上で
PowerShellから見えるやり方をwslでマウントに使えるのかなと思うと

$ ls /mnt/c/wsl/Ubuntu-18.04/
ls: cannot access '/mnt/c/wsl/Ubuntu-18.04/': No such file or directory

なんかダメそう..ということで

qiita.com これがFAで、wslから使うにしても結局Volumeはwinのパスを中心に 使える使い方で使うしかない。いったん C: 配下にディレクトリ切ってwslからsymlink張るなりして
そこへhtmlファイルを置いてこんな感じのコマンドでマウントしつつコンテナ起動するとうまくいった

docker run --name hello-nginx -mount /c/dev:/usr/share/nginx/html:ro -d -p 8080:80 nginx
以下今回の反省

失敗1
シンプルに手順通りやったけどmacじゃないwsl-Ubuntuでやってるしまあそりゃ動かない とりあえず起動中のdockerコンテナログインしてlog見ようとしてみたけど https://qiita.com/__cooper/items/4740c24666299c366044 そもそもファイルを保存するんじゃないみたいstdoutへリンクされてて参照できない。初心者過ぎる..

失敗2
もういっそ全部入りのコンテナでうまくいけばいいかとか甘いこと考えて Laradock使っていこうとしたけどそっちもわけわかんなくなった。起動できなかった.. https://qiita.com/J_Shell/items/695a30fd38444d065ae5