案例三:使用容器运行一个wordpress应用:
语言开发环境(PHP)
数据库
第一步:创建一个工程目录:
mkdir wordpress
cd wordpress
第二步:创建一个docker-compose.yaml文件:
[root@node1 wordpress]# cat docker-compose.yaml
version: '2'
services:
db:
image: mysql:5.7
volumes:
- "./.data/db:/var/lib/mysql"
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
links:
- db
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
我们再理解下depends_on: 这个是依赖的意思。
--links:容器的互联,是一种让多个容器中的应用进行快速交互的方式,它会在源和接受容器之间建立连接关系。--link 参数可以让容器之间安全地进行交互。
第三步:运行:
[root@node1 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9c9a78d7efaf wordpress:latest "docker-entrypoint.s…" 3 minutes ago Up 3 minutes 0.0.0.0:8000->80/tcp, :::8000->80/tcp wordpress_wordpress_1
48d9f026e44b mysql:5.7 "docker-entrypoint.s…" 3 minutes ago Up 3 minutes 3306/tcp, 33060/tcp wordpress_db_1
我们可以看到mysql: 5.7和wordpress两个容器都已经启动。
第四步:验证:
另外,我们再回顾下mysql数据库的数据被数据卷映射到本地.data目录中。
.data文件夹也是一个安全性的考虑。