【发布时间】:2017-06-15 19:22:42
【问题描述】:
我在 docker-compose yml 3.0+ 中遇到卷问题
所以我知道一个卷的行为就像一个挂载.. 但是我已经设置了一个 wiki,当我在 docker-compose 中设置一个卷时,容器上的数据将被删除(隐藏)
那么,如何先将容器中的数据保存到主机,下次启动容器时,它会覆盖我保存的数据。
所以目前的情况是: 我从“docker-compose up --build”开始,创建一个卷(空)并将被复制到容器中。结果容器上该文件夹中的所有内容都被删除
docker-compose.yml
version: '3.1'
services:
doku-wiki:
build: .
ports:
- '4000:80'
Dockerfile
FROM php:7.1-apache
COPY dokuwiki-stable /var/www/html/
COPY entrypoint.sh /entrypoint.sh
RUN chmod 777 /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
EXPOSE 80
【问题讨论】:
-
你能澄清一下这个问题吗?您是否正在寻找一种“在容器启动时将现有容器数据复制到卷”的方法?
-
是的,我第一次通过 docker-compose up 启动容器时,它应该将现有容器数据复制到一个卷中。之后,容器应该使用卷中的日期而不覆盖所有内容。例如我想备份文件夹“/data/pages/”但是在第一次启动时备份卷将是空的..它不会复制任何内容到/data/pages/但会删除容器的现有内容
-
我在您的 docker-compose.yml 文件中看不到任何卷定义。音量在哪里起作用?
标签: docker copy containers persistence docker-compose