如下定义摘自docker官网:https://docs.docker.com/compose/overview/php
Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration. html
译文:python
Compose是一个用来定义、运行多容器Docker应用的工具。经过compose,你使用YAML文件来定义你的应用服务。而后,经过一个简单的命令,就能建立和启动你配置的全部服务。mysql
从定义能够看出,Compose是一个工具,用来定义多个容器服务,而后经过一个命令一键启停全部服务,方便一次性管理多个有关联关系的容器。nginx
若是说docker run、docker exec 是shell命令的话,那么compose就是shell脚本!只不过他能够经过YAML配置文件的形式简写命令。sql
Using Compose is basically a three-step process:docker
Define your app’s environment with a Dockerfile
so it can be reproduced anywhere.shell
Define the services that make up your app in docker-compose.yml
so they can be run together in an isolated environment.app
Run docker-compose up
and Compose starts and runs your entire app.wordpress
译文:
Compose使用基本三步骤:
官网学习连接:
https://docs.docker.com/compose/
compose file version 3 语法介绍:
https://docs.docker.com/compose/compose-file/
compose命令行介绍:
https://docs.docker.com/compose/reference/
按照上面所说的步骤:
一、编写服务的Dockerfile
Nginx、php的Dockerfile已经在前面实践过了,直接拿来使用便可。
二、定义docker-compose.yml
version: '3'
services:
nginx:
hostname: nginx
build:
context: ./nginx
dockerfile: Dockerfile
ports:
- 81:80
networks:
- lnmp
volumes:
- ./wwwroot:/usr/local/nginx/html
php:
hostname: php
build:
context: ./php
dockerfile: Dockerfile
networks:
- lnmp
volumes:
- ./wwwroot:/usr/local/nginx/html
mysql:
hostname: mysql
image: mysql:5.6
ports:
- 3306:3306
networks:
- lnmp
volumes:
- ./mysql/conf:/etc/mysql/conf.d
- ./mysql/data:/var/lib/mysql
command: --character-set-server=utf8
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: wordpress
MYSQL_USER: user
MYSQL_PASSWORD: user123
networks:
lnmp:
三、启动docker-compose
docker-compose -f docker-compose.yml up -d
注意:-d是在后台启动,且要在docker-compose.yml文件目录下启动。
四、查看结果
访问url:http://120.92.*.*:81/wordpress