目录
前言
1、安装docker-compose
2、为什么使用docker-compose?
3、如何使用DockerCompose
3.1、创建docker-compose文件
3.2、docker-compose相关命令:
前言
对Docker常规操作部署项目不了解的伙伴,可以先看看这篇文章:http://t.csdnimg.cn/MkjuC
1、安装docker-compose
大家先看看自己的服务器上有没有安装docker-compose,如下就是安装过了:
没有安装的,使用命令:yum install docker-compose
2、为什么使用docker-compose?
在我们上一篇文章学习的docker中,部署项目,我们可以感受到,需要对每个容器都docker run呀,创建镜像呀等等非常繁杂的命令,还有很多是重复的命令。那对于多容器的复杂应用来说,这样操作,就会比较乱,例如我们创建一个集群,创建着创建着,都忘了自己搞过哪些东西了~
因此,我们采用DockerCompose工具能极大的简化容器的创建、管理和维护~
3、如何使用DockerCompose
DockerCompose是通过一个单独的docker-compose.yml模版文件来定义一组相关联的应用容器,帮助我们实现多个相互关联的Docker容器的快速部署~
3.1、创建docker-compose文件
我们先为后续操作创建一个目录,并进入目录,准备好java项目的jar包,以及上一篇文章提到的Dockefile文件,然后创建一个docker-compose.yml文件,打开后,给这个文件添加如下内容:
version: '3.3'
services:
mysql:
image: 'mysql:5.7'
container_name: mysql
restart: always
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: 1111
ports:
- "3306:3306"
volumes:
- "./mysql/conf:/etc/mysql/conf.d"
- "./mysql/data:/var/lib/mysql"
- "./mysql/init:/docker-entrypoint-initdb.d"
hmall:
build:
context: .
dockerfile: Dockerfile
container_name: cnblog
restart: always
ports:
- "8080:8080"
depends_on:
- mysql
networks:
default:
external:
name: javaProject
这是个yml格式的文件,文件的格式要求比较严格,大家仔细一点~
文件内容说明:
其他没有做说明的,大家根据前面的知识就可以理解的,其实就是创建并启动容器时的命令换了一种写法~
启动docker-compose.yml内的所有容器:
命令:docker-compose up -d
-d 的意思指让这些容器在后台运行~
到这儿,就需要我们再了解一下,docker-compose的相关命令了:
3.2、docker-compose相关命令:
一下命令,都只针对当前目录下:
- docker-compose up :创建并启动所有的service容器
- docker-compose down :停止并移除所有容器、网络
- docker-compose ps :列出所有启动的容器
- docker-compose logs :查看指定的容器的日志
- docker-compose stop :停止容器
- docker-compose start :启动容器【容器已经被创建过了】
- docker-compose restart :重启容器
- docker-compose top :查看运行的进程
- docker-compose exec :在指定的运行中容器内执行命令
另外还有两个可选参数:
- -f : 指定compose文件的路径和名称【不指定则默认是docker-compose.yml】
- -p : 指定Project名称
命令怎么使用,就不展示了,都比较简单,可自行尝试
好啦,本期就到这里了,下期见啦! docker到这里结束啦~~~