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