ファイルを実行中のDockerコンテナにコピーする



ときには、実行中のDockerコンテナとローカルファイルシステム間でファイルをコピーします.たとえば、ローカルのWebサーバを実行している場合、HTMLファイルを更新したい場合などに便利です.
コマンドdocker cp あなたのローカルファイルシステムから実行中のDockerコンテナとその逆にファイルをコピーする能力を与えます.
実行中のnginxコンテナを仮定しましょう.場合は、コンテナを実行することはできませんdocker run -d -p 8000:80 nginx .
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
3d1fb2f49f1a        nginx               "nginx -g 'daemon of…"   9 hours ago         Up 9 hours          0.0.0.0:8000->80/tcp   nifty_mirzakhani
これでNGINXルートフォルダにHTMLファイルをコピーできます/usr/share/nginx/html ) with docker cp :
docker cp test.html 3d1fb2f49f1a:/usr/share/nginx/html
          ^         ^            ^
          |         |            |= destination path within the docker container
          |         |
          |         |= the id of the container in which you want to transfer the file
          |
          |= path to file you want to transfer

ブラウザでアップロードされたファイルにアクセスできますhttp://localhost:8000/test.html ).

ダウンロード


ファイルをコンテナからローカルファイルシステムにコピーすることもできます.

docker cp 3d1fb2f49f1a:/etc/nginx/conf.d/default.conf ~/
          ^            ^                              ^
          |            |                              |= destination path on your local machine
          |            |
          |            |= path to the file in your container
          |
          |= container id

経路情報


コンテナのパスはコンテナのルートディレクトリ(/ ), したがって、先頭スラッシュを省略することができます.
両方のパスが有効です./etc/nginx/conf.d/default.conf and etc/nginx/conf.d/default.conf .
ローカルマシンパスでは、絶対値と相対値を使用できます.
あなたが私のコンテンツが好きなら、あなたはTwitterで私に従うことを望むかもしれません!
そばに写真frank mckenna on Unsplash