我是Docker Concept的新手,我今天才开始玩它。 我发现了 exec 命令,该命令的任务是在正在运行的容器中运行新命令。
我位于~/linux-tweet-app
目录中,该目录包含index-original.html
和index.html
文件。
我的容器正在运行:
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
我无法理解正在发生什么?任何帮助将不胜感激这个新人
谢谢。
答案 0 :(得分:1)
这是因为您需要在容器内使用完整路径,所以这应该起作用:
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