如何将外部文件连接到 docker-nginx 容器?

时间:2020-12-20 22:29:45

标签: docker nginx docker-volume docker-container docker-image

我阅读了几乎所有的帖子,但我仍然无法解决我的问题。

  • 我的 docker 中有一个 nginx 镜像。当我做 docker 图像 时,这就是我得到的:
xxxxxx@DESKTOP-7904JF2 MINGW64 ~/desktop/website
$ docker images
REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
nginx        latest    ae2feff98a0c   5 days ago   133MB

在我当前的目录 desktop/website 中,我有一个名为 index.html 的文件,我想将它映射到 usr/share/nginx/html docker 容器中。 为此,我输入一个命令:

xxxxxx@DESKTOP-7904JF2 MINGW64 ~/desktop/website
$ docker run --name website -v $(pwd):/usr/share/nginx/html -d -p 8080:80 nginx

命令运行良好,我得到一些随机数,如

xxxxxx@DESKTOP-7904JF2 MINGW64 ~/desktop/website
$ docker run --name website -v $(pwd):/usr/share/nginx/html -d -p 8080:80 nginx
29630977004cb59b3f4b67ea99f5bb28e3434c02c4c62d4cb20c4b1ccd82fafc

xxxxxx@DESKTOP-7904JF2 MINGW64 ~/desktop/website

但是当我执行 localhost:8080 时,我收到同样的旧消息“欢迎使用 Nginx。”

我尝试进入容器(usr/share/nginx/html)查看命令是否有更改

xxxxxx@DESKTOP-7904JF2 MINGW64 ~/desktop/website
$ docker exec -i website bash

我发现什么都没有改变。文件还是一样的。 (不知道该不该改)

如何做到这一点。有没有替代方案。我正在使用 git bash 并且我在 Windows 机器上。

1 个答案:

答案 0 :(得分:0)

显然这是 git-bash 无法识别 ($pwd) 的问题。尝试使用以下方法之一:

docker run --name website -v /$PWD:/usr/share/nginx/html -d -p 8080:80 nginx

docker run --name website -v "$PWD":/usr/share/nginx/html -d -p 8080:80 nginx

docker run --name website -v /c/some/some:/usr/share/nginx/html -d -p 8080:80 nginx

docker run --name website -v C:\\some\\path:/usr/share/nginx/html -d -p 8080:80 nginx

抱歉,我这里没有 Windows 可以尝试此操作。希望它按预期工作。