Linux & Mac

思考停止でOK

Windows (Docker for Windows)

Docker Engine
v19.03.8

シェルスクリプトの実行

shellスクリプトはLFじゃなきゃいけない!! Gitのcore.autocrlftrueになってると、クローンしたシェルスクリプトがCRLFになっているので、Dockerfileを作るときはそこも考えないといけない。trコマンドで’\r’を取り除けばいいので、こんな感じにすればおっけー。

1
CMD cat hoge.sh | tr -d '\r' | /bin/sh

Volumeのマウント

バックエンドにWSL2を使わない場合(従来)

WSL2にチェックが付いていない

Resources->File Shareingでマウントしたいディレクトリを含むディレクトリを選択。C:\を追加すればC:\以下のサブディレクトリも含めてすべてマウントできる。

バックエンドにWSL2を使う場合

WSL2にチェックが付いている

FileShareingタブがなくなった。つまり、何も設定しなくてもマウントできる

Windows (WSL2)

※WSL1ではDockerは使えない。

Docker for Windowsとは別物。Ubuntuなら以下のようにして入れる。

1
sudo apt install docker.io

次のコマンドでDockerデーモンを起動する。

1
sudo service docker start