本文主要是介绍Docker——【部署项目的最优解】使用DockerCompose部署项目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
前言
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: mysqlrestart: alwaysenvironment:TZ: Asia/ShanghaiMYSQL_ROOT_PASSWORD: 1111ports:- "3306:3306"volumes:- "./mysql/conf:/etc/mysql/conf.d"- "./mysql/data:/var/lib/mysql"- "./mysql/init:/docker-entrypoint-initdb.d"hmall:build:context: .dockerfile: Dockerfilecontainer_name: cnblogrestart: alwaysports:- "8080:8080"depends_on:- mysqlnetworks: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到这里结束啦~~~
这篇关于Docker——【部署项目的最优解】使用DockerCompose部署项目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!