docker--Docker-Compose快速搭建个人博客WordPress

Compose 快速搭建个人博客 wordpress

如果我们不使用 docker-compose 部署 wordpress,那么我们就要单独部署 mysql 和 wordpress 的容器,这样每个容器的管理就比较麻烦。

官网:https://docs.docker.com/compose/wordpress/

创建 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:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
       WORDPRESS_DB_NAME: wordpress
volumes:
    db_data: {}

在配置文件目录下启动

docker-compose up -d

查看

浏览器访问宿主机的 8000 端口

将删除容器和默认网络,但会保留 WordPress 数据库: docker-compose down

将删除容器,默认网络和 WordPress 数据库: docker-compose down --volumes

version: '3.3'

services:
   db:
     # docker run -itd mysql:5.7
     image: mysql:5.7
     volumes:
       # 采用的是卷标的形式挂载(注意:- db_data是参数,可以变,自定义,必须与下面对应)
       - db_data:/var/lib/mysql
     # 自动重启,保证服务在线
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     # - db 是参数,合起来的意思是只有当上面的mysql数据库安装成功后,这个wordpress才可以
     # 被安装,还有一个功能,就是docker --link 将上面的mysql数据库,与这个wordpress应用连起来
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
       WORDPRESS_DB_NAME: wordpress
volumes:
    db_data: {}

docker-compose 中有两种方式可以设置 volumes

1.使用具体路径直接挂载到本地,特点就是直观

2.使用卷标的形式,特点就是简洁,但是不知道数据到底在本地的什么位置。需要通过卷标查看

  • docker volume ls
  • docker volume inspect wordpress_db_data

posted @ 2020-02-14 23:11  邹邹很busy。  阅读(431)  评论(0编辑  收藏  举报