#【概要】
WindowsにDocker環境を構築する際のメモです。
専門用語はできるだけ使わない方向でいきます。
当記事は後編です。下記の目標の3,4の内容です。
#【環境】
docker desktop for windows2.2.0.3
Windows 10 Enterprise または Pro
#【目標】
<前編>
1:Dockerをローカル環境で起動する。
2:Ubuntu18.04のコンテナを作成して操作する。
#####<後編>
3:PC内の特定のフォルダ内のファイルをコンテナ内に同期する。(マウント)
4:PCがコンテナ内のUbuntuと通信を行う際のポート番号を指定する。
#【実行】
###3:PC内の特定のフォルダ内のファイルをコンテナ内に同期する。(マウント)
Windowsのフォルダをコンテナ内部のディレクトリマウントする場合コンテナを作成するときのコマンドにひと手間加える必要があります。一度作成したコンテナを後からマウントすることは(たぶん)できないため注意してください。
・c/Users/XXXXXX/docker/ubuntu1804/mountのフォルダを
ubuntuの/var/testへマウントする場合
docker run -it -v /C//Users/XXXXXX/docker/ubuntu1804/mount:/var/test --name ubuntu_container_02 ubuntu:18.04
#####※注意点
・Windows上のパスの書き方が少し特殊なので記述ミスをしやすい
・マウント先の/var/test以下のディレクトリはWindowsのmountフォルダに上書きされ消滅する
#####マウントすると嬉しい点
・ファイル管理・整理をGUIで行える
#####マウントしたあと注意すべき点
・Windows上でファイルを開いたり編集して保存すると文字コードやファイルの権限関係が変わってしまうことがある
###4:PCがコンテナ内のUbuntuと通信を行う際のポート番号を指定する。
Windowsとコンテナ内の環境間で通信を行う場合、お互いのポート番号を指定してやるとアプリ間通信をする場合などに幸せになれます。
これもコンテナ作成時にひと手間加えたコマンドを入れる必要があり、コンテナを作成した後にポート番号の設定を行うことはできないため注意が必要です。
Windowsのポート8080とubuntuのポート18080を間口に設定する場合
docker run -it -p 8080:18080 --name ubuntu_container_03 ubuntu:18.04
これでapacheなどを使用する場合に相互通信できるようになります。
###あとがき
浅い知識です書いた記事ですが、どなたかの手助けになることを祈ります。
書き終わって気が付きましたがコンテナを他のパソコンへ移植する方法を書いてませんでした。これもどこかのタイミングで書こうかと思います。
<前編>
https://qiita.com/itoumasaru6/items/fc81d963d563923a6adc
<コンテナ移植編>