【docker】ホストとコンテナ間でファイルを共有する方法

docker-host-container mount

ローカルで作成したファイルをdockerのコンテナ内で使用できるようにする方法について説明します。

もくじ

①root権限でマウント

hostのフォルダとコンテナのフォルダをルート権限でマウントする

方法:マウントする(root権限)

hostのフォルダとコンテナのフォルダをルート権限でマウントする

マウントすることで、host側でファイルを作成や編集したファイルをコンテナの内でも参照、編集が可能になります。

ソースコードなどをファイルを共有する場合に便利です。

コマンド:run -v ホストフォルダパス:コンテナフォルダパス

以下のコマンドを入力することでフォルダを共有できます。

docker run -it -v /mnt/c/docker/host_folder:/cont_dir image bash

-v /mnt/c/docker/host_folder:/cont_dir

-vマウントを指定するオプション
/mnt/c/docker/host_folderホスト側のフォルダパス
/cont_dirコンテナ側フォルダパス
-v マウント

②ユーザ権限でマウント

hostのフォルダとコンテナのフォルダをユーザ権限でマウントする

方法:マウントする(ユーザ権限)

hostのフォルダとコンテナのフォルダをユーザ権限でマウントする

マウントすることで、host側でファイルを作成や編集したファイルをコンテナの内でも参照、編集が可能になります。

マウントするときにユーザを指定して、編集者をユーザで可能にする。

ソースコードなどをファイルを共有する場合に便利です。

コマンド:run -v ホストフォルダパス:コンテナフォルダパス -u ユーザ:グループ

以下のコマンドを入力することでフォルダを共有できます。

docker run -it -v /mnt/c/docker/host_folder:/cont_dir -u $(id -u):$(id -g) image bash

-v /mnt/c/docker/host_folder:/cont_dir

-vマウントを指定するオプション
/mnt/c/docker/host_folderホスト側のフォルダパス
/cont_dirコンテナ側フォルダパス
-v マウント

-u $(id -u):$(id -g)

-uユーザを指定するオプション
$(id -u)コマンドを実行するユーザID
$(id -g) コマンドを実行するユーザのグループID
-u ユーザ指定

\ 最新情報をチェック /

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA