【问题标题】:Wordpress with docker-compose.yml on CentOSCentOS 上带有 docker-compose.yml 的 Wordpress
【发布时间】:2019-11-13 14:14:17
【问题描述】:

这是我第一次在 CentOS 上尝试 Vultr。

我能够成功开发一个带有自定义主题的本地 Wordpress 网站,现在我正在尝试将它部署到 Vultr 上的 CentOS 服务器。我的docker-compose.yml 看起来像这样:

version: '3.3'

services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

  wordpress:
    depends_on:
      - db
    image: wordpress:5.2.2-php7.1-apache
    ports:
      - "80:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    working_dir: /var/www/html
    volumes:
      - ./wp-content:/var/www/html/wp-content
      - ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
volumes:
  db_data: {}

我应该如何配置图像? 我应该为 wordpress、mysql 和 wp-content & uploads.ini 创建三个图像并在 docker-compose 中引用它们吗?或者我可以只制作一张图片吗?

【问题讨论】:

    标签: wordpress docker docker-compose centos


    【解决方案1】:

    首先,通常建议您通过每个容器使用一项服务来区分关注区域。所以wordpress, mysql etc最好使用多个服务。

    但是,这些服务使用一个图像或多个图像,这完全取决于您的场景。

    其实你可以把所有的东西都放在一个自己的镜像中,在镜像中为不同的docker-compose服务指定不同的命令。例如

    services:
      db:
        image: your_own_solo_image
        command: the command to start db
    
      wordpress:
        image: your_own_solo_image
        command: the command to start wordpress
        depends_on:
          - db
    

    使用一张图片的缺点:

    • 也许一个容器只需要小的基础镜像,例如alpine,另一个容器需要ubuntu,但是使用unify image(比如ubuntu),当两个容器运行时,都会使用ubuntu,可能会浪费更多的内存,因为ubuntu会比alpine消耗更多的资源。

    • 您可能会遇到库冲突,例如container1(service1) 需要lib.so.1,而container2(service2) 可能需要lib.so.2,你可能需要自己处理LD_LIBRARY_PATH。如果你分开图像,这里没有问题。

    使用一张图片的优势:

    • 有时你可能想将服务(命令)分离到不同的容器中,但是这两个命令确实非常依赖于一个自己的项目的相同源代码,并且环境都是一样的,那么不同的容器不需要使用不同的图像( compose 中的不同服务)。一个例子是 django 项目,您可以在一个服务中启动 wsgi,但也可能希望在另一个服务中启动 celery worker,但仍然使用您的 django 项目的相同代码。

    【讨论】:

      猜你喜欢
      • 2019-05-18
      • 2022-01-05
      • 2022-08-08
      • 1970-01-01
      • 2022-09-29
      • 2021-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多