首页 > 其他分享 >wordpress的dockercompose部署方式

wordpress的dockercompose部署方式

时间:2023-03-31 14:24:21浏览次数:45  
标签:dockercompose 部署 宿主机 wordpress volumes mysql wordpressastra Docker dbastra

version: '3.1'

services:

  wordpressastra:
    image: wordpress
    restart: always
    ports:
      - 8082:80
    environment:
      WORDPRESS_DB_HOST: dbastra
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes:
      - wordpressastra:/var/www/astra/html

  dbastra:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - dbastra:/var/lib/astra/mysql

volumes:
  wordpressastra:
  dbastra:

 

         

这是一个用于运行WordPress和MySQL数据库的Docker Compose文件。

"wordpressastra"服务定义了一个带有Astra主题的WordPress镜像。它被配置为始终重启,并设置在端口8082上运行。它还定义了用于数据库连接的环境变量,包括主机、用户、密码和数据库名称。Volumes部分指定了一个持久化卷,用于存储WordPress文件。

"dbastra"服务定义了一个MySQL 5.7版本的镜像。它也被设置为始终重启,并定义了数据库的环境变量,包括数据库名称、用户、密码和一个随机的root密码。Volumes部分指定了一个持久化卷,用于存储MySQL数据。

总的来说,这个Docker Compose文件提供了一个简单、便携的方式来运行带有Astra主题的WordPress和MySQL数据库。

    如果把数据库目录 挂在到宿主机 /app/mysql/data      

如果要将数据库目录挂载到宿主机的/app/mysql/data目录,只需要修改Docker Compose文件的dbastra服务的volumes部分。以下是修改后的Docker Compose文件:

version: '3.1'

services:

  wordpressastra:
    image: wordpress
    restart: always
    ports:
      - 8082:80
    environment:
      WORDPRESS_DB_HOST: dbastra
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes:
      - wordpressastra:/var/www/astra/html

  dbastra:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - /app/mysql/data:/var/lib/mysql

volumes:
  wordpressastra:

 

dbastra服务的volumes部分,我们将/var/lib/mysql目录替换为宿主机上的/app/mysql/data目录。这样就会将MySQL数据存储在宿主机上的/app/mysql/data目录中,而不是Docker容器中。

  同样,如何把/var/www/astra/html挂在到宿主机 /app/wordpress      

如果要将/var/www/astra/html目录挂载到宿主机的/app/wordpress目录,只需要修改Docker Compose文件的wordpressastra服务的volumes部分。以下是修改后的Docker Compose文件:

 

version: '3.1'

services:

  wordpressastra:
    image: wordpress
    restart: always
    ports:
      - 8082:80
    environment:
      WORDPRESS_DB_HOST: dbastra
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes:
      - /app/wordpress:/var/www/astra/html

  dbastra:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - /app/mysql/data:/var/lib/mysql

volumes:
  wordpressastra:

 

wordpressastra服务的volumes部分,我们将/var/www/astra/html目录替换为宿主机上的/app/wordpress目录。这样就会将WordPress文件存储在宿主机上的/app/wordpress目录中,而不是Docker容器中。

      volumes: wordpressastra: 这个节点还需要保留?      

是的,volumes节点中的wordpressastra定义了一个Docker卷,用于存储WordPress的数据。这个卷是在wordpressastra服务中定义的,并被映射到/var/www/astra/html目录。即使我们将此目录挂载到宿主机,我们仍然需要定义一个Docker卷来存储WordPress数据。因此,即使将目录挂载到宿主机,我们仍然需要保留volumes节点中的wordpressastra定义。

      volumes: dbastra: 这个为何不需要加      

你提到的volumes节点中的dbastra定义了一个Docker卷,用于存储MySQL的数据。这个卷是在dbastra服务中定义的,并被映射到/var/lib/mysql目录。我们可以选择将此目录挂载到宿主机上的某个目录,也可以不挂载,让Docker容器来管理MySQL数据。如果我们选择不挂载,那么该节点确实不需要加。在这种情况下,Docker将使用其默认机制来创建和管理数据卷。

但是,如果我们希望将MySQL数据存储在宿主机上的某个目录中,我们需要在volumes节点中定义一个Docker卷,就像我之前所示的那样。在这种情况下,我们需要指定一个宿主机目录,它将被用于存储MySQL数据。

翻译

搜索

复制

标签:dockercompose,部署,宿主机,wordpress,volumes,mysql,wordpressastra,Docker,dbastra
From: https://www.cnblogs.com/zxh263/p/17276129.html

相关文章

  • 有关wordpress文章页面出现404的问题
    有关wordpress文章页面出现404的问题修复的时候总结了一下原因:1.未开启apache的rewrite功能2..htaccess文件中的伪静态规则配置错误3.由于目录存在中文,编码问题导致解决方案:1.未开启apache的rewrite功能:使用命令sudoa2enmodrewrite开启mod_rewrite,然后修改配置文件......
  • docker wordpress 快速部署
    1.拉取mysqldockerpullmysql2.拉取wordpressdockerpullwordpress3.启动mysqldockerrun-d--namemysql-p3306:3306-eMYSQL_ROOT_PASSWORD=123456-v/data/mysql_data:/var/lib/mysqlmysql:latest4.启动wordpressdockerrun-d--namewordpress-v/da......
  • 容器云平台监控告警体系(三)—— 使用Prometheus Operator部署并管理Prometheus Server
    1、概述 PrometheusOperator是一种基于Kubernetes的应用程序,用于管理Prometheus实例和相关的监控组件。它是由CoreOS开发的开源工具,旨在简化Prometheus的部署和配置。容器云平台通过使用PrometheusOperator简化在Kubernetes下部署和管理Prmetheus的复杂度,其通过prome......
  • 部署了一个ChatGPT
    部署了一个ChatGPTChatGPT火爆了一段时间了,但是基于一些不可描述的原因,不能注册使用。为了方便大家体验,我部署了一个服务,能简单地体验一下ChatGPT的强大。话不多说,直接展示几个例子截图。文章最后放上体验地址和体验方式。探索问题这里我探索了一个技术问题,但是实际上你也可以......
  • 记录首次部署Linux服务器搭建Java项目的经历
    1.下载JDK1.8下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html本次下载版本:jdk-8u361-linux-x64.tar.gz2.安装JDK1.8(1)复制“jdk-8u361-linux-x64.tar.gz”到Linux服务器的/usr/local/install文件夹下(2)执行【tar-zxvfjdk-8u361-linux-x64.tar.g......
  • 三、kibna部署
    下载:解压运行验证kibna,访问:http://localhost:5601......
  • 二、Elasticsearch部署
    第一次安装的是7.0版本,运维过程中发现与8.0还是有很多不同的地方下载javajdk:环境设置下载ES:解压压缩包修改yml允许跨域,为后面head做准备config->elasticsearch.yml增加下面配置(注意格式,:后面必须跟空格,结束不能带;号)http.cors.enabled:truehttp.cors.allow-ori......
  • 玩转RuoYi-Cloud-Plus--7.docker部署nacos(单机)
    7.docker部署nacos(单机)仅部署nacos-server,不使用prometheus/grafana等监控组件 1.拉取镜像dockerpullnacos/nacos-serverdockerpullna......
  • Linux 部署: canal (同步mariadb数据发往kafka)
    参考文档:https://blog.csdn.net/weixin_55549435/article/details/123309631目录1节点规划2部署mariadb3部署canal4验证附录1节点规划节点ipdeployvm1......
  • git部署django上线
    网站部署上线需要环境:centos需要的依赖组件:python3.9先下载wgethttps://www.python.org/ftp/python/3.9.5/Python-3.9.5.tgz解压编译安装tar-xvfPython-3.9.5......