ホストからドッカーコンテナにファイルをコピーします。

この翻訳:コンテナドッカーにホストからのファイルのコピー

私はバックアップを構築し、しようとしています 、私たちが作業することをドッカーコンテナのためのソリューションを復元します。 私は、バックアップを構築し、私たちが使用ドッカーコンテナのためのソリューションを復元しようとしています。

私は、作成さを持っている持っている持っているドッカーベースイメージubuntu:base、欲しいとITへのファイルの追加にドッカーファイルで各IT Aの時間を再構築する必要はありません。 私は、私が作成したドッカーベースイメージを持っているubuntu:baseし、すべてのドッキングウィンドウのファイルの復元を使用する必要がありますする必要はありませんファイルに追加します。

私は、ホストマシンでから実行され、新しい新しいコンテナを作成で使用していることを作成Aスクリプトにしたいubuntu:baseコンテナ。というドッカーイメージして、コピーファイルに 私は、スクリプトホストから作成したいが実行して、使用されてubuntu:base、新しいコンテナドッカーイメージを作成し、コンテナにコピーします。

どのように私はホストからファイルをコピーすることができます ?コンテナに どのようにコンテナにホストからファイルをコピーするために?


#1階

参考:https://stackoom.com/question/1Y7DT/はドッカーコンテナにホストからファイルをコピーします


ハウス#2

以下は、これを行うには非常に醜い方法ですが、それが動作することができます。

docker run -i ubuntu /bin/bash -c 'cat > file' < file

ハウス#3

溶液が以下に与えられる、 以下のように溶液です。

ドッカーシェルから、 在ドッカーシェル中、

root@123abc:/root#  <-- get the container ID

ホストから ホストから

cp thefile.txt /var/lib/docker/devicemapper/mnt/123abc<bunch-o-hex>/rootfs/root

ファイルを直接にコピーしなければならないコンテナはファイルシステムに着座場所。 このファイルは、ファイルシステム上の容器の位置に直接コピーされるべきです。


#4階

私は単にどこから直接ファイルをコピーし 、コンテナがホストマシンから位置しています。 私は、コンテナが直接ホストからの場所からファイルをコピーします。

たとえば、次の 例:

最初のコンテナIDを見つける: 最初のコンテナ番号を識別します。

root@**3aed62678d54**:/home#

そしてホストから、のは、聞かせて :ファイルがホームディレクトリにあると言う ファイルを想定して、その後、ホストからのメインディレクトリにあります:

root@saasdock:/home/dnepangue# cp cheering_nasa.gif /var/lib/docker/aufs/mnt/**3aed62678d54**a5df47a4a00a58bb0312009c2902f8a37498a1427052e8ac454b/home/

戻るコンテナへ... 容器に戻って...

root@**3aed62678d54**:/home# ls cheering_nasa.gif

ハウス#5

  1. コンテナ名または短いコンテナIDを取得します: コンテナ名または短いコンテナのIDを取得します:

     $ docker ps 
  2. フルコンテナIDを取得します: フルコンテナのIDを取得します:

     $ docker inspect -f '{{.Id}}' SHORT_CONTAINER_ID-or-CONTAINER_NAME 
  3. ファイルをコピーします。 コピーしたファイルを:

     $ sudo cp path-file-host /var/lib/docker/aufs/mnt/FULL_CONTAINER_ID/PATH-NEW-FILE 

例: 例:

$ docker ps

CONTAINER ID      IMAGE    COMMAND       CREATED      STATUS       PORTS        NAMES

d8e703d7e303   solidleon/ssh:latest      /usr/sbin/sshd -D                      cranky_pare

$ docker inspect -f   '{{.Id}}' cranky_pare

または いずれか

$ docker inspect -f   '{{.Id}}' d8e703d7e303

d8e703d7e3039a6df6d01bd7fb58d1882e592a85059eb16c4b83cf91847f88e5

$ sudo cp file.txt /var/lib/docker/aufs/mnt/**d8e703d7e3039a6df6d01bd7fb58d1882e592a85059eb16c4b83cf91847f88e5**/root/file.txt

ハウス#6

私が見つけたコンテナにファイルをコピーするための最良の方法は、ドッキングウィンドウrunコマンドを使用することである-vホスト上のディレクトリをインストールするオプションを。

オリジナルの記事は0公表 ウォンの賞賛136 ビュー830 000 +

おすすめ

転載: blog.csdn.net/xfxf996/article/details/105240362
おすすめ