Docker Compose 是一种用于经过使用单个命令建立和启动 Docker 应用程序的工具。咱们可使用它来配置应用程序的服务。html
它是开发,测试和升级环境的利器。python
它提供如下命令来管理应用程序的整个生命周期:mysql
要实现 docker compose安装,须要包括如下步骤:git
如下是在 Ubuntu 系统中安装 Docker Compose 的说明:github
curl -L https://github.com/docker/compose/releases/到这个网址直接下载便可,可是我已经提早下载好了拖进来安装便可web
建立一个 docker-compose.yml 配置文件:sql
root@localhost:/usr/local/docker/tomcat# vi docker-compose.yml 在这里建立,docker-compose.yml文件,并编写下面的内容
注意:在编写配置文件是不可以是tab键只能使用空格键进行缩进docker
version: '3'
services:
webapp:
restart: always
image: training/webapp
container_name: webapp
ports:
- 5000:5000
下面是我电脑里面的配置tomcat
version: '3' 制定服务器解析版本
services: 要启动的服务器列表
tomcat: 服务器的名称为tomcat,随便起不能够重复
restart: always 这里表示只要docker-compose启动那么tomcat也老是跟着启动
image: tomcat 这里表示镜像名称为tomcat,若是没有会自动的去docker远程仓库区拉去镜像
container_name: tomcat 随便启,可是不可以出重复的
ports: 映射端口号
- "8080:8080"
参数说明:服务器
前台运行:
suchuanqi@UbuntuBase:/usr/local/docker/python$ docker-compose up 前台启命令docker-compose up, 可是这种操做并很差会占用主线程,阻止其余线程操做
Creating network "python_default" with the default driver
Creating webapp ...
Creating webapp ... done
Attaching to webapp
webapp | * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
后台运行:
suchuanqi@UbuntuBase:/usr/local/docker/python$ docker-compose up -d 这里是后台启动docker-compose,不会占用当前主线程
Creating webapp ...
Creating webapp ... done
lusifer@UbuntuBase:/usr/local/docker/python$
运行效果:
经过docker-compose启动了tomcat咱们能够经过:
docker-compose logs -f tomcat 进行对tomcat日志的打印工做,能够看到日志
docker-compose up
docker-compose up -d
docker-compose start
docker-compose stop 注意中止的时候必须在有docker-compose.yml的配置文件中进行使用
docker-compose down 这里的删除是在docker ps -a 删除tomcat容器的,由于个人tomcat在docker-compose里面进行设置
Docker Compose 运行 Tomcat
docker-compose.yml
配置文件:
version: '3'
services:
tomcat:
restart: always
image: tomcat
container_name: tomcat
ports:
- 8080:8080
volumes:
- /usr/local/docker/tomcat/webapps/:/usr/local/tomcat/webapps/
environment:
TZ: Asia/Shanghai
开启tomcat后记得在webapps里面建立一个ROOT文件夹,而后在里面建立一个index.html以供测试使用
Docker Compose 运行 mysql
建立
docker-compose.yml
配置文件:使用vi docker-compose.yml
建立该文件并进行编译操做
version: '3'
services:
mysql:
restart: always
image: mysql:5.7
container_name: mysql
ports:
- 3306:3306
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: 123456
command:
--character-set-server=utf8mb4 这里是设置字符及UTF-8
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1 这里是忽略大小写
--max_allowed_packet=128M
--sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
volumes:
- mysql-data:/var/lib/mysql
volumes:
mysql-data:
咱们能够经过
docker-compose logs -f mysql 进行日志的查看
在关闭任何关于docker-compose的先关服务时必需要进入到有docker.compose.yml的文件夹使用:
docker-compose down 进行关闭,不能使用相似于docker stop xxxx等命名,由于这样关闭的话就没有使用docker-compose进行托管了
配置继承环境下的docker-compose 也就是把mysql tomcat结合在一块儿进行配置,具体以下所示, 而后部署一个项目:
咱们能够经过:
/var/lib/docker/volumes 来进行访问到mysql存放数据文件的的路径