docker-compose是基于docker的由python实现的编排工具,托管于github上,使容器的操作能够批量的,可视的执行,是一个管理多个容器的工具,比如可以解决容器之间的依赖关系,当在宿主机启动较多的容器时候,如果都是手动操作会觉得比较麻烦而且容器出错,这个时候推荐使用 dockerd的单机编排工具 docker-compose。
1.下载docker compose
https://github.com/docker/compose/releases
执行命令:curl "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
然后将docker-compose-linux-x86_64移动到docker-compose中
2.修改权限
chmod +x /usr/local/bin/docker-compose
3.查看版本
docker-compose version
4.启动docker-compose
docker-compose
__________________________________________________________
docker-compse 常用命令:
查看配置:docker-compose config
后台启动:docker-compose up -d
构建镜像:docker-compose build
下载镜像:docker-compose pull
运行中的容器:docker-compose ps
进程:docker-compose top
启动:docker-compose start
停止:docker-compose stop
5.编排 docker-compose
配置文件,通过docker-compose.yml文件管理各容器
开启三个服务service-a
, service-b
, service-eureka
version: '2'
services:
service-eureka:
image: java
volumes:
- /Users/objcat/jar/service-eureka.jar:/usr/local/service-eureka.jar
ports:
- 8081:8081
command:
- /bin/sh
- -c
- |
echo 192.168.1.126 servicehost >> /etc/hosts
java -jar /usr/local/service-eureka.jar
service-a:
image: java
volumes:
- /Users/objcat/jar/service-a.jar:/usr/local/service-a.jar
ports:
- 8082:8082
command:
- /bin/sh
- -c
- |
echo 192.168.1.126 servicehost >> /etc/hosts
java -jar /usr/local/service-a.jar
service-b:
image: java
volumes:
- /Users/objcat/jar/service-b.jar:/usr/local/service-b.jar
ports:
- 8083:8083
command:
- /bin/sh
- -c
- |
echo 192.168.1.126 servicehost >> /etc/hosts
java -jar /usr/local/service-b.jar
6.运行docker-compose
docker-compose up -d
-d:后台运行
7.查看运行起来的容器
docker ps -a
对应服务容器运行起来后就可以通过公网访问对应端口访问该服务了。