DockerでShareフォルダを使う
Dockerを使う際、ホストとゲストで共通フォルダ作成してデータのやり取りを行いたい。
Shareフォルダはdocker run時に指定するようだが、それだと今まで様々なモジュールをインストールして設定してきたものが無駄になる。
解決策としては、以下の通り。
1. 現在のコンテナを一旦イメージ化してImageIDを取得する。
2. そのImageIDを使用して、Shareフォルダを指定しdocker runする。
これだと、今までの設定を無駄にせず、Shareフォルダを作成できる。
事前準備 Dockerのsettingsでホスト側Shareフォルダを設定しておく。
Shareフォルダはdocker run時に指定するようだが、それだと今まで様々なモジュールをインストールして設定してきたものが無駄になる。
解決策としては、以下の通り。
1. 現在のコンテナを一旦イメージ化してImageIDを取得する。
2. そのImageIDを使用して、Shareフォルダを指定しdocker runする。
これだと、今までの設定を無駄にせず、Shareフォルダを作成できる。
事前準備 Dockerのsettingsでホスト側Shareフォルダを設定しておく。
1. 現在のコンテナを一旦イメージ化してImageIDを取得する
2. そのImageIDを使用して、Shareフォルダを指定しdocker runする
/tmp→ゲスト側:一番楽なのでここにした。
Shareフォルダを確認する
$ docker commit --author="Hoge-san" --message="ssh, sqlcmd modules in ubuntu18.04LTS." ssh_ubuntu sqlcmd_srv※注意:ここでタグを指定すると、なぜかdocker run時にエラーが発生する
2. そのImageIDを使用して、Shareフォルダを指定しdocker runする
$ docker run -it -d -v $PWD/share:/tmp -p 10000:22 --name sqlcmd_ubuntu sqlcmd_srv※$PWD/share→ホスト側:Windowsでディレクトリを作成しておく。
/tmp→ゲスト側:一番楽なのでここにした。
Shareフォルダを確認する
$ ssh ubuntu@localhost -p 10000 ubuntu@ebb915f7517e:~$ ls -l /tmp total 3096 -rwxr-xr-x 1 root root 34941 Jun 12 06:57 docker_settings.png※WindowsのShareフォルダに入れたファイルがUbuntuの/tmpフォルダで見れてます。
コメント
コメントを投稿