LoginSignup
13
8

More than 5 years have passed since last update.

動作中のDockerコンテナにHostからファイルを転送する

Last updated at Posted at 2016-09-08

ホストからDockerコンテナへの転送手段

動作中のDockerコンテナにHostからファイルを転送する方法

「Dockerコンテナからホストへ」のファイル転送は、docker cp コマンドを使用すれば可能だが、
「ホストからDockerコンテナへ」の転送手段は公式では提供されていないようだ。。。
されてました!

そこで、ssh 立てるなり、scpで転送することなどが真っ先に思いつくのだが、dockerの流儀ではない。

そこで、docker exec コマンドを駆使して、実現してみる。

公式)

$ docker exec -i 【コンテナ名】 bash -c 'cat > 【コピー先ファイル】' < 【コピー元ファイル】

実例)

既にdockerで稼働してしまっているredmineサーバに、themeを追加したくなった。
そこでHost側で仕入れてきたthemeをコンテナ側に渡す。

対象ファイル:docker host 側にあるファイル「/vagrant/farend_basic.zip」
配置先   :docker container 側「/home/redmine/redmine/public/themes/farend_basic.zip」

$ docker exec -i redmine bash -c 'cat > /home/redmine/redmine/public/themes/farend_basic.zip' < /vagrant/farend_basic.zip

成功

【追記】

amatsus さんの情報により、上記手法は、「docker cp」コマンドでも可能となりました。

以下で可能です。

docker cp /vagrant/farend_basic.zip redmine:/home/redmine/redmine/public/themes/farend_basic.zip
13
8
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
8