【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】
看见这个章鱼没,它手上拿的是容器!它在帮助我们部署容器
Docker Compose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器!
Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。
粗略地说,Compose 文件就是多个docker run 命令的集合【不过它不是直接用run】
【举个栗子】
version: "3.8"
services:
mysql:
image: mysql:5.7.25
environment:
MYSQL_ROOT_PASSWORD: 123
volumes:
- "/tmp/mysql/data:/var/lib/mysql"
- "/tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf"
web:
build: . # 注意这个点,就是指的当前目录
ports:
- "8090:8090"
与我们的命令比较
很明显,DockerCompose 文件就是把docker run 命令 转换成了各种指令去定义
官网文档:https://docs.docker.com/compose/compose-file/
【下载】
第一种方式:去GitHub 慢慢拉下来
# 安装
curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
如果下载速度较慢,或者下载失败,可以使用课前资料提供的docker-compose文件:
贴心,将其上传到/usr/local/bin/
目录也可以。
OK
【修改文件权限】
# 修改权限
chmod +x /usr/local/bin/docker-compose
OK, 这样就可以执行了
【Base自动补全命令】
# 补全命令
curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
但是光这样根本拉不动
配个东西先
如果这里出现错误,需要修改自己的hosts文件:
echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts
再次执行上一条命令
这次就瞬间结束了 ,欧克欧克
DockerCompose有什么作用?