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

Docker - cms 开发的正确方法

如何解决Docker - cms 开发的正确方法

我目前正在为开发目的设置 docker。

目标是轻松设置 MysqL、apache、PHP 和 cms (omeka)。

我设法重写了一个 dockerfile 和 dockercompose,它们会自动为普通用户设置 cms,但我需要能够访问我在构建过程中获取的 CMS 源代码

根据我的理解,卷/绑定不是解决方案,因为它们只能访问构建之后添加文件(我无论如何都尝试过,但无法访问这些文件)。

我应该编写一个脚本来运行撰写例程,然后然后下载文件并执行安装 cms 所需的操作,还是有更多的 docker 方法解决这个问题?

这是我的 docker-compose :

version: '3'

services:
  db:
    image: MysqL:latest
    environment:
      //some vars. irrelevant
  
  PHPmyadmin:
    image: PHPmyadmin/PHPmyadmin
    depends_on: 
      - db
    ports: 
      - 8081:80

  omeka:
    build: .
    depends_on:
      - db
    ports:
      - "8080:80"
    environment:
      //some vars. Irrelevant
    volumes: 
      - type: bind
        source: ./www/
        target: /var/www/

volumes: 
  www:

还有我的 Dockerfile :

FROM PHP:8.0.3-apache
ARG DEBIAN_FRONTEND=noninteractive

RUN apt-get update && \
      apt-get install -y --no-install-recommends \
      [some packages]
RUN docker-PHP-ext-install exif MysqLi

# Install omeka
workdir /var/www
RUN git clone --recursive https://github.com/omeka/omeka.git
RUN chown -R root.www-data omeka && chmod 775 omeka
workdir /var/www/omeka
[....]
# copy some files,run some commands,set some rights

# Configure apache
copY omeka.conf /etc/apache2/sites-available/omeka.conf
[....]

# Configure PHP
[...]

# Add init script
copY run.sh /run.sh
RUN dos2unix "/run.sh"
RUN chmod 755 /*.sh

EXPOSE 443

CMD ["/run.sh"]

运行这个(我删除了一些变量,当然为了清晰起见,配置文件缺少)给了我一个 www 文件夹,该文件夹保持为空。

我不太明白我是如何做到这一点的,因为我不完全知道在重新运行 docker-compose p -d文件如何持久化或不持久化{{1}}

这也是我的第一个 docker 文件

谢谢

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