web-dev-qa-db-ja.com

ローカルマシンからWindows上のドッカーコンテナにファイルをコピーする方法

ユーザーのローカルファイルC:/ users/saad/bddからdockerコンテナー(cassandra)にデータファイルをインポートする必要がありますが、dockerコマンドを使用して続行する方法が見つかりませんでした。私はWindows 7で作業しています。

助けてくれて本当にありがとうございます

15
Manou

つかいます docker cp

docker cp c:\path\to\local\file container_name:/path/to/target/dir/

コンテナの名前がわからない場合は、次を使用して検索できます。

docker ps --format "{{.Names}}"
31
Alvaro Carvajal

Dockerツールボックスを使用する場合、絶対パスに関連する別の問題があるようです。

私は、本質的にMINGW64環境である「Docker Quickstart Teminal」を使用してコンテナーと通信しています。

コンテナへの絶対パスでファイルをコピーしようとすると、エラーメッセージが表示されます。

$ docker cp /d/Temp/my-super-file.txt container-name:/tmp/
copying between containers is not supported

相対パスを使用する場合は、単に機能します。

$ cd /d/
$ docker cp Temp/my-super-file.txt container-name:/tmp/

追伸:コメントに対する評判が失われているため、これを回答として投稿しています。

2
DwightKendall

ドッカーツールボックスを使用する場合、それほど単純ではありません。 DockerツールボックスはC:\Users\フォルダーのみにアクセスでき、間にOracle Virtual Box Managerがあるため、フォルダーをコピーすると、コンテナーに直接コピーされるのではなく、Oracleによってマウントされたボリュームハンドルにコピーされます= VM machine。そのように:

/mnt/sda1/var/lib/docker/volumes/19b65e5d9f607607441818d3923e5133c9a96cc91206be1239059400fa317611/_data

これを回避する方法は、単にDockerFileを編集することです。

FROM cassandra:latest

ADD cassandra.yml /etc/cassandra/
ADD import.csv /var/lib/cassandra/
EXPOSE 9042

そしてそれを構築します。

2
mel3kings

Windowsでdocker-toolboxを使用している場合は、次の構文を使用します

docker cp/C/Users/Saad/bdd-restaurants cassandra:/ var/lib/docker/containers

2
Aparna

ここにちょうどそれをタイプする答えがあります

 belzebub-system:~/Documents/dead-exorcist/satan_ml$ docker ps
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS                              NAMES
94ef16fa1d18        tensorflow/tensorflow   "/run_jupyter.sh --a…"   2 days ago          Up 2 days           6006/tcp, 0.0.0.0:8888->8888/tcp   adoring_engelbart
belzebub-system:~/Documents/dead-exorcist/satan_ml$ docker ps --format "{{.Names}}"
adoring_engelbart
belzebub-system:~/Documents/dead-exorcist/satan_ml$ docker cp  ~/Documents/dead-exorcist/satan_ml/satan_ml.tar.gz   adoring_engelbart:/notebooks
belzebub-system:~/Documents/dead-exorcist/satan_ml$
0
TheExorcist

このコマンドを使用すると、ホストマシンからdocker containerにファイルをコピーできます。

docker cp c:\abc.doc <containerid> :C:\inetpub\wwwroot\abc.doc
0
Pramod Lawate