OSS・Docker

【Windows10】Docker toolboxでコンテナとホストPCでファイル共有する方法

こんにちは。Windows 10 Home EditionでDockerを使っている方の多くは、Docker toolboxを利用していると思います。今回は、このDocker tool box上で動作させているコンテナとホストPC(Windows10)の間でファイル共有する方法をご紹介します。

前提

 ファイル共有の具体的な方法をご説明する前にDocker toolboxの構造を理解しましょう。下図の通りDocker toolboxはたくさんの構成でできています。


 基本的に仮想サーバ(default)の上でコンテナがたくさん動作しているイメージとなります。

 今回は、一番の上のコンテナと一番下のWindows10でファイル共有を行います。大変そうですが、一段階ずつファイルを共有すれば簡単です。


階層が多くてファイル共有は大変そうだけど実は簡単なんだ!!


Virtual boxのファイル共有設定を変更

まずはVitrtul boxのファイル共有設定を変更します。



Virtul boxを開きます。そして、仮想サーバ "default"の設定を開きます。



一番の下の共有フォルダを選択します。



共有フォルダをクリックするとポップアップが出力します。



ここファルダを共有したいWindows10側のフォルダのパスにします。ファルダー名は任意でだ丈夫です。今回はUsersとしています。フォルダー名は後から使うので控えておきましょう。

OKをクリックします。

仮想サーバ(defult)側の設定

Docker Quickstart Terminalを起動します。

しばらくするとクジラさんが登場です。



そのあとに以下のコマンドを発行です。

(1) 仮想サーバに共有フォルダマウントディレクトリ作成

docker-machine ssh default 'sudo mkdir -p /ディレクトリ名

(2) 仮想サーバに共有フォルダマウント

$ docker-machine ssh default 'sudo mount -t vboxsf -o uid=0,gid=0  共有フォルダ名 /ディレクトリ名' 

共有フォルダ名は先ほどVirtual boxで設定した共有フォルダ名です。

コンテナ起動用yml設定

みんな大好きなymlファイルのVolume設定を以下の通りにします。

volumes:         # データの格納場所
     - /ディレクトリ名:コンテナのディレクトリ名
(例) - /users:/home/redmine/data

これでコンテナ内のディレクトリとWindows10のフォルダを共有できます。実際に共有フォルダを使用する際はexecコマンドでコンテナにログインする必要があります。

  • この記事を書いた人

marusuke1216

30代のシステムエンジニア。 インフラ関連の案件中に従事している。 資格は、ネットワークスペシャリスト、PMO等を保有。

-OSS・Docker