apache Docker未在YAML脚本中配置的卷上创建文件

bxfogqkk  于 2022-11-16  发布在  Apache
关注(0)|答案(1)|浏览(107)

我在docker-compose.yml中编写了以下脚本,它试图从Docker Hub运行一个正式的PHP + Apache映像:

services:
  apache:
    image: 'php:5.6-apache'
    container_name: apache
    restart: always
    ports:
      - '80:80'
      - '443:443'
    volumes:
      - /mnt/data/apps/html:/var/www/html
      - /mnt/data/apps/ssl:/etc/ssl
      - /mnt/data/apps/apache:/etc/apache2

但是当我用 docker composite up 运行它时,容器确实打开了,但是应该在容器启动时创建的文件没有被创建...(使用docker运行脚本时也会发生)
如果我删除卷,再次运行它,并使用“docker exec -it apache bash”访问容器,我会看到相应的文件生成...只是在绑定卷时发生。文件不是应该自动创建到本地卷吗?
拜托,我做错了什么?剧本上有什么遗漏吗?我是不是很傻?如果这是一个很明显的问题,对不起,我没有要去的地方,现在开始在码头。
谢谢你

af7jpaap

af7jpaap1#

解决方案是在没有任何卷的情况下运行container,并使用docker cp将配置文件复制到我的机器上,然后再次运行它,但卷指向复制的配置文件...
Nginx示例

docker pull nginx:1.23.1-alpine
docker run --name tmp-nginx-container -d nginx:1.23.1-alpine
docker cp tmp-nginx-container:/etc/nginx/ D:\Docker\Config
docker rm -f tmp-nginx-container

相关问题