微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过 Dockerfile 编辑卷上的日期

如何解决通过 Dockerfile 编辑卷上的日期

我确实想制作一个自定义的 Drupal docker-image

事实上,我想使用标准的“drupal”docker-image 并向其添加一些进一步的工具,并将“/var/www/html/sites”目录放入外部卷。在第二步中,我想让 docker 在“sites/default”下的卷上创建一个新的“settings.PHP”。

所以在我的“docker-compose.yml”中我放了:

volumes:
  - ./sites:/var/www/html/sites

我的 Dockerfile 包括

FROM drupal:9.1-PHP8.0
...
RUN mkdir /var/www/html/xxx2
RUN mkdir /var/www/html/sites/xxx2
RUN mkdir -p /var/www/html/sites/default/files
RUN curl https://raw.githubusercontent.com/drupal/drupal/9.1.x/sites/default/default.settings.PHP -o /var/www/html/sites/default/default.settings.PHP
RUN [ ! -f /var/www/html/sites/default/settings.PHP ] && cp /var/www/html/sites/default/default.settings.PHP /var/www/html/sites/default/settings.PHP
RUN chown www-data:www-data /var/www/html/sites -R
...

我确实添加了那些仅​​用于测试的“xxx2”目录。

现在我确实使用以下方法构建图像:

docker container prune && docker-compose build --no-cache &&  docker-compose up --force-recreate

并像这样连接到它:

docker exec -it d9docker_drupal_1  /bin/bash

现在我在我的容器中看到的是以下内容

/var/www/html/xxx2

我没有看到的:

/var/www/html/sites/xxx2
/var/www/html/sites/default

我确实认为这可能是正常行为,因为卷是在创建映像后安装的,但对于此用例,最佳方法是什么?

更新:比方说,当我从 docker-compose 中删除卷时,它会按预期工作,但自然而然,我没有像我希望的那样将数据放在卷中。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。