两小时玩转Docker-Compose

Docker-compose的作用是将一组相互依赖的容器进行统一的管理,一次性启动,而非一个一个的启动。

安装docker-compose

1. curl安装

curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-uname -s-uname -m > /usr/local/bin/docker-compose

2.增加可执行权限

chmod +x /usr/local/bin/docker-compose

3.查看版本

docker-compose version

运行docker-compose

1.创建docker-compose.yaml文件,通常我创建在/home/docker/compose下

version: '3'
services: 
 nginx:
  container_name: my-nginx
  image: nginx:1.9.7
  links: //这里相当于给tomcat起了个别名tom,可以在nginx配置文件中直接使用
    - tomcat:tom  
  restart: always
  ports:
   - 80:81
   - 443:443
  volumes:
   - /home/docker/nginx:/etc/nginx/conf.d
  depends_on:
   - tomcat
 mysql:
  container_name: v-mysql
  image: mysql:5.7
  environment:
   MYSQL_ROOT_PASSWORD: root
  ports:
   - "3306:3306"
  restart: always
 tomcat:
  image: test-mvc:zc
  restart: always
  volumes:
   - /webapps:/usr/local/tomcat/webapps
  depends_on:
   - mysql

2.启动docker-compose

在docker-compose.yaml文件同目录下
创建并启动容器:docker-compose up -d --scale 服务名=数字
---------- d 表示后台运行,scale 是表示对应的服务同时启动几个容器

停止并删除容器: docker-compose down
---------- 会停掉容器,并删除掉容器。如果不希望删除容器,请使用 stop
例子

docker-compose up -d --scale tomcat=3 //启动容器,并将tomcat服务容器启动3个
docker-compose down 

3.docker-compose.yaml文件语法

version: '3': 
表示使用第三代语法
services: 
表示 compose 需要启动的服务
container_name:
 容器名称
environment: 
容器环境变量
ports: 
对外开放的端口
restart: always 
如果服务启动不成功一直尝试。
volumes: 
加载本地目录到容器目标路径
depends_on:
依赖服务,先启动 depends_on 服务
command: mvn clean spring-boot:run : 
表示以这个命令来启动项目
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容