五、docker-compose介绍和使用

docker-compose的介绍与安装

  1. 什么是 docker-compose
    compose项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排
  2. compose定位
    定义和运行多个 docker 容器,并对其进行编排
  3. compose核心概念
    服务:一个应用的容器
    项目:由一组关联的应用容器组成的一个完整业务单元
  4. compose安装
    在官网中看下列介绍
    https://docs.docker.com/compose/install/#alternative-install-options
    在这里插入图片描述
    执行上述下载命令,(下载贼慢)
    sudo curl -L "https://github.com/docker/compose/releases/download/1.28.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    
    下载完成后修改执行权限
    sudo chmod +x /usr/local/bin/docker-compose
  5. 验证docker-compose的安装
    执行 docker-compose -v 出现版本内容则安装成功

docker-compose第一个环境

  1. 创建docker-compose文件
    创建一个空目录 mkdir compose-dir
    在compose-dir 目录下创建 docker-compose.yml 文件,建议使用这个名称
  2. 编写docker-compose文件内容
    version: "3.0"
    				#指定版本
    services:
    				
      tomcat01:
    				#服务名 唯一
        image: tomcat:8.0-jre8
    	#镜像名称
        ports:
    					#指定端口 是一个数组形式 可以有多个
          - 8080:8080
      tomcat02:
        image: tomcat:8.0-jre8
        ports:
          - 8081:8080
    
    注意:上面的文件内容格式必须符合yml的格式
  3. 启动
    docker-compose up
    
    注意:当前目录下必须存在 docker-compose.yml文件

docker-compose命令模板

  1. docker-compos命令官方说明
    https://docs.docker.com/compose/compose-file/compose-file-v3/
  2. 命令模板
version: "3.8"
services:
  myapp:
    build:
      context: proj_docker
      dockerfile: Dockerfile
    container_name: myapp
    ports:
      - 8082:8080
    networks:
      - docker
    depends_on:
      - tomcat01

  tomcat01:
    image: tomcat:8.0-jre8
    ports:
      - 8080:8080
    container_name: tomcat01
    networks:
      - docker
    depends_on:
      - mysql
      - redis
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost"]
      interval: 1m30s
      timeout: 10s
      retries: 3
      start_period: 40s

  tomcat02:
    image: tomcat:8.0-jre8
    ports:
      - 8081:8080
    container_name: tomcat02
    networks:
      - docker

  mysql:
    image: mysql:5.7.33
    ports:
      - "3307:3306"
    container_name: mysql
    volumes:
      - mysqldata:/var/lib/mysql
      - mysqlconf:/etc/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=root
    env_file:
      - mysql.env
    networks:
      - docker


  redis:
    image: redis:5.0
    container_name: redis
    ports:
      - "6379:6379"
    volumes:
      - redisdata:/data
    networks:
      - docker
    command: "redis-server --appendonly yes"

volumes:
  mysqldata:
  mysqlconf:
  redisdata:

networks:
  docker:

Docker可视化工具 Portainer

  1. 获取 Portainer 镜像
    docker pull portainer/portainer
  2. 启动Portainer容器
    docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_date:/data portainer/portainer
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值