gpt4 book ai didi

CentOS 上带有 docker-compose.yml 的 Wordpress

转载 作者:行者123 更新时间:2023-12-04 19:41:59 26 4
gpt4 key购买 nike

这是我第一次在 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, 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,但是使用统一镜像(比如ubuntu),当两个容器运行时,都会使用ubuntu,可能会浪费更多的内存,因为ubuntu与alpine相比会消耗更多的资源。
  • 您可能会遇到库冲突,例如container1(service1) 需要lib.so.1 ,而 container2(service2) 可能需要 lib.so.2 ,您可能需要处理 LD_LIBRARY_PATH自己。如果你分开图像,这里没有问题。

  • 使用一张图片的优势:
  • 有时你可能想将服务(命令)分离到不同的容器,但是这两个命令真的非常依赖一个自己项目的相同源代码,并且环境都是一样的,那么不同的容器不需要使用不同的图像(不同的服务在撰写)。一个例子是 django 项目,你可能在一个服务中启动 wsgi,但也可能想在另一个服务中启动 celery worker,但仍然使用与你的 django 项目相同的代码。
  • 关于CentOS 上带有 docker-compose.yml 的 Wordpress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56860794/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com