如何使用 docker 文件将文件从主机复制到新的 docker 映像,这些文件在容器上作为卷共享?
How to copy files from host to a new docker image using dockerfile, that are shared as a volume on the container?
如何在创建时使用 docker 文件将文件从我的主机复制到映像,并在创建容器时使这些文件可供主机使用?我迷失在 1) Dockerfile 中的 VOLUME=[..] 2) 运行 命令中的 --volume 3 ) docker 卷创建
我尝试创建一个 docker 文件以将文件复制到图像中。尽管如果我 运行 带有 -v 选项的容器,容器上的目标似乎被清除了??示例:
FROM node:latest
WORKDIR /usr/src/myapp
COPY package*.json ./
RUN npm install
COPY index.js /usr/src/myapp/index.js
EXPOSE 8080
CMD [ "node", "/usr/src/myapp/index.js" ]
运行 没有音量效果很好
docker run -p 8080:8080 --name Test test:latest
然而,对于卷,容器上的目标目录似乎已清除(错误:找不到模块“/usr/src/myapp/index.js”)
docker run -p 8080:8080 -v /mynasvolume1/test:/usr/src/myapp --name Test test:latest
我知道我的替代方法是在主机上创建一个命名卷并将其作为 VOLUME 包含在 Dockerfile 中。这不是我的偏好,因为它不允许我 select 主机上的卷位置(Synology NAS 没有给我更改默认位置的解决方案 /volume1/@docker/volumes到我可以共享或挂载的位置)
是的,它似乎已清除,因为将 /mynasvolume1/test
挂载到 /usr/src/myapp
将仅显示来自 /mynasvolume1/test
的文件并覆盖您 COPY
在 Dockerfile
中编辑的文件].目前尚不清楚您要实现的目标,但请尝试安装到特定目录,例如:/mynasvolume1/test:/usr/src/myapp/test
如何在创建时使用 docker 文件将文件从我的主机复制到映像,并在创建容器时使这些文件可供主机使用?我迷失在 1) Dockerfile 中的 VOLUME=[..] 2) 运行 命令中的 --volume 3 ) docker 卷创建
我尝试创建一个 docker 文件以将文件复制到图像中。尽管如果我 运行 带有 -v 选项的容器,容器上的目标似乎被清除了??示例:
FROM node:latest
WORKDIR /usr/src/myapp
COPY package*.json ./
RUN npm install
COPY index.js /usr/src/myapp/index.js
EXPOSE 8080
CMD [ "node", "/usr/src/myapp/index.js" ]
运行 没有音量效果很好
docker run -p 8080:8080 --name Test test:latest
然而,对于卷,容器上的目标目录似乎已清除(错误:找不到模块“/usr/src/myapp/index.js”)
docker run -p 8080:8080 -v /mynasvolume1/test:/usr/src/myapp --name Test test:latest
我知道我的替代方法是在主机上创建一个命名卷并将其作为 VOLUME 包含在 Dockerfile 中。这不是我的偏好,因为它不允许我 select 主机上的卷位置(Synology NAS 没有给我更改默认位置的解决方案 /volume1/@docker/volumes到我可以共享或挂载的位置)
是的,它似乎已清除,因为将 /mynasvolume1/test
挂载到 /usr/src/myapp
将仅显示来自 /mynasvolume1/test
的文件并覆盖您 COPY
在 Dockerfile
中编辑的文件].目前尚不清楚您要实现的目标,但请尝试安装到特定目录,例如:/mynasvolume1/test:/usr/src/myapp/test