Docker 执行命令失败?

Docker exec command gets failed?

我是 Docker 概念的新手,我今天才开始玩它。 我发现了 exec 命令,它的工作是 运行 一个 运行ning 容器中的新命令。

我在 ~/linux-tweet-app 目录中,其中包含 index-original.htmlindex.html 文件。 我的容器是 运行ning :

 docker container run \
 --detach \
 --publish 80:80 \
 --name linux_tweet_app \
 --mount type=bind,source="$(pwd)",target=/usr/share/nginx/html \
 $DOCKERID/linux_tweet_app:1.0

我的任务是将 index-original.html 内容复制到 index.html 。 因为我在 docker 主机上使用绑定挂载,所以,这有效:

 cp index-new.html index.html

并且更改得到反映,

但是在使用 exec 时:

docker exec -it linux_tweet_app cp index-original.html index.html

我收到以下错误:

我无法理解发生了什么?这位新人将不胜感激

谢谢。

因为你需要在容器内使用完整路径,所以这应该可行:

docker exec -it linux_tweet_app cp /usr/share/nginx/html/index-original.html /usr/share/nginx/html/index.html

您也可以在 Dockerfile 中指定 WORKDIR 并将其设置为 /usr/share/nginx/html