起動中の Docker コンテナにファイルを転送する / コンテナからファイルをダウンロードする
ポケットモンスター アップロード / ダウンロード (何)
Docker コンテナ起動時に -v
オプションを指定すれば、ホスト OS との共有ディレクトリを設定することはできる。
今回はそうではなく、既に起動されている Docker コンテナにホスト OS からファイルを送ったり、逆に Docker コンテナからホスト OS に向けてファイルを送ってもらったりする手順を紹介する。
目次
docker cp
コマンド
ファイル転送に使用するのは、ホスト → コンテナ、コンテナ → ホスト、どちらの場合も docker cp
コマンドだ。
起動中のコンテナの ID を知っておく必要があるので、$ docker ps
コマンドで CONTAINER ID
を確認しておこう。
ホスト OS から Docker コンテナにファイルを送る
ホスト OS から Docker コンテナにファイルを送るには、以下のように書く。
$ docker cp 【ホスト OS のファイル】 【コンテナ ID】:【転送先のフルパス】
例えばこんな感じ。
$ docker cp ./my-host-os-file.txt 00x000xxx000:/tmp
コレで、Docker コンテナ内に /tmp/my-host-os-file.txt
が置かれる。
以下のようにファイル名を指定すれば、転送先でファイル名の変更もできる。
$ docker cp ./my-host-os-file.txt 00x000xxx000:/tmp/my-container-file.txt
Docker コンテナからホスト OS にファイルを送らせる
逆に、Docker コンテナ内のファイルを受け取るには、docker cp
コマンドの順序を逆にすれば良い。
# docker cp 【送るファイルのパス】 【送り先パス】 という書き順
$ docker cp 【コンテナ ID】:【転送するファイルのフルパス】 【ホスト OS のダウンロード先】
実際にダウンロードするにはこんな感じ。
$ docker cp 00x000xxx000:/tmp/my-container-file.txt ./
一度覚えれば簡単っすね。