Docker(二)出门

本文介绍Docker Compose如何实现容器集群的快速编排,通过一个YAML格式的模板文件定义项目,包括服务、容器和卷等概念。提供Docker Compose的安装、使用方法及命令示例,帮助读者掌握Docker Compose的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker Compose

记个笔记

Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。

它允许用户通过一个单独的 docker-compose.yml 模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。

Compose 的默认管理对象是项目,通过子命令对项目中的一组容器进行便捷地生命周期管理。

Compose 项目由 Python 编写,实现上调用了 Docker 服务提供的 API 来对容器进行管理。因此,只要所操作的平台支持 Docker API,就可以在其上利用 Compose 来进行编排管理。

Compose 中有两个重要的概念:

服务 (service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。

项目 (project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。

 

Docker Compose安装与卸载

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

 

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

 

$ docker-compose version

 

$ sudo rm /usr/local/bin/docker-compose

Docker Compose使用

cd /user/local/docker/tomcat

vi docker-compose.yml

 

创建一个Docker-Compose模板文件

 

version: ‘3.1’ #docker-compose的版本

service:

  tomcat:#服务名字自己起

      restart:always

      image:tomcat

      container_name:tomcat

      ports:

  • 8080:8080
      volumes:

           - /usr/local/docker/tomcat/webapps/test:/usr/local/tomcat/webapps/test

#左边宿主机,右边容器目录

      environment:

           TZ: Asia/Dalian

  mysql:

    restart: always

    image: mysql:5.7.22

    container_name: mysql

    ports:

      - 3306:3306

    environment:

      TZ: Asia/Dalian

      MYSQL_ROOT_PASSWORD: 123456

    command:

      --character-set-server=utf8mb4

      --collation-server=utf8mb4_general_ci

      --explicit_defaults_for_timestamp=true

      --lower_case_table_names=1

      --max_allowed_packet=128M

      --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"

    volumes:

      - mysql-data:/var/lib/mysql #右边是容器里的目录,左边是卷的名字在下面

 

volumes:

  mysql-data:

 

 

cd /var/lib/docker/volumes

默认数据卷存储位置

 

docker volume ls

Docker-Compose命令

对于 Compose 来说,大部分命令的对象既可以是项目本身,也可以指定为项目中的服务或者容器。如果没有特别的说明,命令对象将是项目,这意味着项目中所有的服务都会受到命令影响。

 

只能在yml文件同级下使用。

 

docker-compose version打印版本信息

docker-compose up 启动

docker-compose down终止

docker-compose up -d 守护运行

docker-compose logs -f tomcat 看日志

。。。。。

Docker-Compose模板文件

模板文件是使用 Compose 的核心,涉及到的指令关键字也比较多。这里面大部分指令跟 docker run 相关参数的含义都是类似的。默认的模板文件名称为 docker-compose.yml,格式为 YAML 格式。

资源下载链接为: https://pan.quark.cn/s/9648a1f24758 Java JDK(Java Development Kit)是Java编程语言的核心组件,为开发和运行Java程序提供了必要的工具和环境。JDK 8是Oracle公司推出的一个重要版本,它引入了许多新特性和改进,极大地提升了开发效率和代码质量,对开发者来说具有极高的实用价值。 本次提供的“jdk-8u251-macosx-x64.dmg”安装包是专为Mac OS X系统设计的64位版本,其中不仅包含了Java运行环境(JRE),还涵盖了丰富的开发工具,方便用户在Mac平台上进行Java程序的开发与运行。 JDK 8的关键更新和特性如下: Lambda表达式:这是JDK 8的一项重大语法创新,允许开发者使用简洁的匿名函数替代复杂的多行回调代码,从而使代码更加简洁、易读且高效。 方法引用与构造器引用:与Lambda表达式配合使用,可以更直观地引用已有的方法或构造器,进一步减少冗余代码,提升代码的可维护性。 Stream API:这是一个用于处理集合的新API,采用声明式处理方式,使集合操作(如过滤、映射和归约等)更加高效且易于理解。 日期和时间API的改进:JDK 8对日期和时间API进行了重构,引入了java.time包,包含LocalDate、LocalTime和LocalDateTime等类,替代了原有的java.util.Date和java.util.Calendar,使日期和时间的处理更加友好和灵活。 Optional类:为解决null对象导致的空指针异常问题,JDK 8引入了Optional类,它是一个容器对象,可以表示一个值存在或不存在,从而有效避免空指针异常。 接口的默认方法和静态方法:接口现在可以定义默认方法(使用default关键字)和静态方法。默认方法允许在不破坏向后
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值