在docker的学习过程中,大家会接触各种各样的镜像,比如:ubuntu、centos、mysql、java、python等等,可以说种类是非常丰富。但是实际应用中,我们需要的全部都是多镜像组合使用的,比如:用nginx存储静态资源,用java提供服务,用mysql存储数据。这种情况在docker下就需要用容器编排来解决。
简单的docker-compose使用,可以分为两步:
1. 编写docker-compose.yml的文件,对镜像进行定义、编排;
2. 启动镜像:docker-compose run;
场景1:用wordpress搭建一个博客
wordpress需要存储数据,请保证你有一个可用的mysql数据库,并且这个数据库的用户需要远程登录权限
效果展示:
操作步骤:
1、编写docker-compose.yml文件
version: '2'
services:
wordpress:
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: 192.168.35.26:10336
WORDPRESS_DB_USER: xxx
WORDPRESS_DB_PASSWORD: xxx
说明:
version:表示版本
services:为需要编排的服务wordpress:为服务的别名,可以根据习惯任意取
images:为本服务使用的镜像,这里使用wordpress:latest
ports:表示映射宿主机的8000端口到容器的80端口
environment:环境变量WORDPRESS_DB_HOST:mysql地址,不能使用localhost等,因为配置是由容器读取的,localhost会被认为是容器本机(容器认为是个独立ip的机器)
2、启动服务
$ docker-compose up
3、查看容器
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2d4383cf74ca wordpress:latest "docker-entrypoint.s…" Less than a second ago Up 1 second 0.0.0.0:8000->80/tcp wordpress_123wordpress_1
4、访问博客
在浏览器中访问地址:
客户端:http://localhost:8000
服务端:http://localhost:8000/wp-admin/
5、总结:
这里介绍了docker-compose的基本用法,但是只用到一个wordpress容器+本地数据库的方式,下面我们使用将wordpress和mysql都采用容器的方式。