Docker Compose搭建Wordpress服务实现详解

 更新时间:2023年03月10日 15:58:04   作者:梦想实现家_Z  
这篇文章主要为大家介绍了Docker Compose搭建Wordpress服务实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

前言

最近在研究wordpress独立建站,在项目部署的时候也踩了一些坑,为了避免再次踩坑,特此通过此文章记录一下。

编写docker-compose.yaml

此次建站采用的是docker compose的方式来部署wordpress项目,我们可以进入DockerHub官网找到wordpress镜像:

根据官方文档提供的信息,最终我们可以编写出如下docker-compose.yaml:

version: "3.1"
services:
  wordpress:
    image: wordpress:php8.2-apache
    restart: always
    ports:
      - "80:80"
    depends_on:
      - mysql
    environment:
      WORDPRESS_DB_HOST: mysql-server
      WORDPRESS_DB_USER: 数据库用户名
      WORDPRESS_DB_PASSWORD: 数据库密码
      WORDPRESS_DB_NAME: 数据库名称
      WORDPRESS_TABLE_PREFIX: wp_
    volumes:
      - "/usr/share/zoneinfo/Asia/Shanghai:/etc/localtime"        #设置系统时区
      - "/usr/share/zoneinfo/Asia/Shanghai:/etc/timezone"  #设置时区
      - "./wordpress/html:/var/www/html"
  mysql-server:
    image: "mysql"
    volumes:
      - "/usr/share/zoneinfo/Asia/Shanghai:/etc/localtime"        #设置系统时区
      - "/usr/share/zoneinfo/Asia/Shanghai:/etc/timezone"  #设置时区
      # 配置文件
      - "./mysql/conf:/etc/mysql/conf.d"
      # 数据文件
      - "./mysql/datadir:/var/lib/mysql"
      # 日志文件
      - "./mysql/logs:/logs"
    ports:
      - "3306:3306"
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 数据库密码
    command: --default-authentication-plugin=mysql_native_password

注意点

镜像的选择

DockerHub官网中,我们可以看到有很多不同版本的镜像,比如php8.2-fpm-alpinefpm-alpinecli-php8.2php8.2-apache等等,我们最终要选择的是带有web服务的镜像,也就是类似`php8.2-apache版本号,后面接-apachetag

如果选择的镜像不带web服务,那么即使容器启动成功了,浏览器访问的时候也是不会有响应结果的;

另外一点就是不要选择默认的latest,如果镜像版本有更新,可能会造成线上版本不兼容的问题;

环境变量的配置

从官方文档来看,是建议我们在配置中通过环境变量的方式来配置目标数据库的;即使不配置目标数据库,在项目启动后的安装引导上也会提示我们配置数据库,但是可能会出现无法访问localhost的情况;

在上述配置中,WORDPRESS_DB_HOST的配置我们使用的是mysql,它对应同一个网络环境下的mysql实例,只有当wordpress实例与mysql实例在同一个网络环境下时,这样配置才会生效。否则我们需要通过公网ip或者域名来指定WORDPRESS_DB_HOST

WORDPRESS_TABLE_PREFIX代表【数据表前缀】,可以根据需要设定;

volumes配置

我们在第一次创建wordpress实例时,还不能配置"./wordpress/html:/var/www/html"这个映射。我们需要先创建一个wordpress实例,然后通过docker cp命令从wordpress实例中拷贝/var/www/html文件到宿主机,上述配置"./wordpress/html:/var/www/html"就是我们把文件拷贝到宿主机的./wordpress/html下才添加的映射。

这样做的好处在于,如果我们的代码有任何的修改,都不会因为wordpress宕机造成已经修改的源代码丢失;

以上就是Docker Compose搭建Wordpress服务实现详解的详细内容,更多关于Docker Compose搭建Wordpress的资料请关注脚本之家其它相关文章!

相关文章

  • Docker打印和配置环境变量的命令详解

    Docker打印和配置环境变量的命令详解

    在现代应用开发中,Docker 提供了一种有效的容器化解决方案,使得应用的部署、扩展和管理变得更加灵活,环境变量在容器化应用中起着重要作用,它们可以帮助配置应用的运行环境,本文给大家介绍了在 Docker 容器中打印和配置环境变量,需要的朋友可以参考下
    2024-10-10
  • docker下的 redis 之持久化存储详解

    docker下的 redis 之持久化存储详解

    这篇文章主要介绍了docker下的 redis 之持久化存储详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • win10安装docker及遇到的坑及解决

    win10安装docker及遇到的坑及解决

    这篇文章主要介绍了win10安装docker及遇到的坑及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • docker mysql启动时执行初始化sql

    docker mysql启动时执行初始化sql

    这篇文章主要介绍了docker mysql启动时执行初始化sql问题,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-05-05
  • docker部署mysql问题

    docker部署mysql问题

    这篇文章主要介绍了docker部署mysql问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • 使用docker搭建gitlab并且开放到公网

    使用docker搭建gitlab并且开放到公网

    这篇文章主要介绍了使用docker搭建gitlab并且开放到公网,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Docker创建镜像两种方法详解

    Docker创建镜像两种方法详解

    这篇文章主要介绍了 Docker创建镜像两种方法详解的相关资料,Docker创建镜像:一是使用docker commit命令,二是使用docker build命令和Dockerfile文件,需要的朋友可以参考下
    2016-12-12
  • Docker 提交仓库的方法

    Docker 提交仓库的方法

    这篇文章主要介绍了Docker 提交仓库的方法,把我们东西上传DockerHub,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • 如何为Go程序创建一个最小的Docker Image详解

    如何为Go程序创建一个最小的Docker Image详解

    这篇文章主要给大家介绍了关于如何为Go程序创建一个最小的Docker Image的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • Docker使用自定义网桥

    Docker使用自定义网桥

    这篇文章主要为大家详细介绍了Docker使用自定义网桥的相关资料 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10

最新评论