Docker数据卷覆盖的问题
问题描述:
我编写了一个Dockerfile,发现使用路径挂载(宿主机路径为空甚至不存在)到宿主机时,容器里的内容不可见,我有搜索过相关解决方案,但仍是不解。
相关代码:
Dockerfile
FROM openjdk:18 MAINTAINER xxxxxx<xxxxxx@163.com> COPY plugins/menu-panel.jar /usr/local/project/plugins/menu-panel.jar COPY spigot-1.18.2.jar /usr/local/project/spigot-1.18.2.jar COPY eula.txt /usr/local/project/eula.txt WORKDIR /usr/local/project ENV PROJECT=/usr/local/project/ VOLUME $PROJECT EXPOSE 25565 ENTRYPOINT java -Xmx1G -jar -Dfile.encoding=UTF-8 spigot-1.18.2.jar
docker构建镜像
docker build -t xxx:1.0 .
docker运行容器
docker run -d --name mc-server -v /usr/local/docker/test:/usr/local/project -p 25560:25565 xxx:1.0
运行过后,容器内没有我dockerfile拷贝过去的相关jar或是txt,宿主机路径也为空。
我有去百度过docker关于数据卷覆盖原则;
1.如果容器中的非空目录是其Dockerfile中使用_VOLUME命令_声明过的,则容器内文件会被复制到宿主机。否则,容器内的目录会被清空。
2.只要宿主机的目录不为空,则一定会覆盖掉容器内的目录。
请老师解答疑惑。
5
收起
正在回答 回答被采纳积分+1
1回答
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星