1. ホーム
  2. docker

[解決済み] docker cp が実行中のインスタンスで "No such container:path" を投げる [閉じた] 。

2022-02-12 03:50:38

質問

試してみた結果 docker cp ここから を投げますが、それでも Error: No such container:path:...

何が間違っているのでしょうか?

  • コンテナが動作している
  • を実行することができます。 docker exec コマンド
  • docker cp 失敗

解決方法は?

ドキュメントより

docker cp コマンドは、コンテナのパスが相対パスであると仮定して、コンテナの / (ルート)ディレクトリを指定します。

出典 https://docs.docker.com/engine/reference/commandline/cp/#extended-description

このことは、あなたの docker exec [CONTAINER] ls の影響を受けます。 WORKDIR は、あなたの docker cp はありません。

そこからどうすればいいかというと、走ることです。

  1. docker exec [CONTAINER] pwd
  2. この結果得られたものを docker cp コマンドで使用する完全修飾パスを取得します。 docker cp コマンド

例えば httpd の画像になります。

$ docker run -d --name httpd httpd

$ docker exec httpd pwd
/usr/local/apache2

$ docker exec httpd ls
bin
build
cgi-bin
conf
error
htdocs
icons
include
logs
modules

$ docker cp httpd:/usr/local/apache2/conf .

これだけのことができるのは その httpd 画像は WORKDIR オン フォルダ /usr/local/apache2 .