docker-compose安装wordpress最新版

在docker仓库拉取mysql5.7的镜像

如果非root用户请用sudo打头
docker pull mysql:5.7

在docker仓库拉取wordpress最新版本

docker pull wordpress:latest

创建docker-compose文件所在文件夹

  • 在服务器根目录建立/usr/myblog文件夹
  • 进入所在目录 cd /usr/myblog
  • 创建docker-compose.yml文件
vim docker-compose.yml

version: '3'
services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 你的root密码
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    ports:
      - "3306:3306"
  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    volumes:
      - wp_site:/var/www/html
    ports:
      - "80:80"
      - "443:443"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
volumes:
  db_data:
  wp_site:
  • yml详细格式说明请看docker官方文档
  • version 是compose文件版本号
  • services 是需要编排那些服务
  • db 是服务名
  • image 是此服务镜像地址
  • volumes 挂载的数据卷,我们采用容器内部挂载,这样方便容器的迁移
  • restart.always docker启动的时候服务同步启动
  • environment 环境变量 可以用来设置数据库的一些信息
  • ports 映射到宿主机的端口号,数据映射后,可用连接工具连接
  • depends_on 表示依赖于db 也就是数据库服务

用docker-compose命令编排数据库和wordpress服务

确保docker-compose命令在docker-compose.yml所在文件目录执行
docker-compose up -d #-d表示后台执行,不加会实时输出日志

#常用命令介绍
docker-compose ps #查看启动后的容器
docker-compose logs #查看日志
docker-compose down #关闭编排的服务

用命令进入mysql和wordpress容器

如果需要做数据库备份以及文件替换可以进入容器内操作
docker exec -it myblog_wordpress_1 bash #进入wordpress目录
docker exec -it myblog_db_1 bash #进入mysql目录

访问站点

在浏览器输入站点ip就可以查看wordpress开始安装的提示,那就说明成功了,有问题可以留言。

3 条评论

  1. docker-compose启动的容器,如果要单个操作,使用docker stop或者restart操作,文章中的配置文件将数据卷和容器挂载到了一起,实际上是docker的在宿主机的临时空间,如果docker-compose文件更改了,只需要在执行docker-compose up -d就可以了,有更新的容器会重新创建,但是里面映射出来的数据目录是不会重置的,所以不用担心,但以防意外,尽量做好备份。

    1. 如果要做数据的迁移,只需要备份对应数据库和网站html文件即可,我也尝试将整个容器迁移,但是云主机的下载速度太慢,整个容器迁移当然是最完美的了。

发表评论