0
点赞
收藏
分享

微信扫一扫

量子计算与人工智能的交汇:科技未来的新引擎

蚁族的乐土 2024-11-18 阅读 35

docker compose

什么是docker compose

为什么需要docker compose?

docker compose 的功能

  1. docker compose 是具备管理应用程序整个生命周期的命令:

docker compose 使用场景

docker compose 文件

文件基本结构及常见标签

文件基本结构:

version: 3.8 #定义当前docker compose.ymal文件所采用的语法版本
services: # 顶级标签,表示这个项目下的所有服务,也就是列举组成这个项目的具体服务:
  serviceName1: # 具体服务的名称,他也是内部bridge网络可以使用的dns name,如果不是集群模式,那么就相当于docker run的时候指定的一个名称;
    image: xxxx:tag # 必选,镜像的名字,可以是xxxx:tag模式,也可以是哈希摘要;
    command: # 可选,如果设置,则会覆盖镜像里面的默认CMD启动命令;
    environment: # 可选,设置环境变量;
    volumes: # 设置存储卷
    networks: # 指定当前容器加入的网络
    ports: # 指定当前容器的映射端口
    expose: # 可选,指定容器暴露的端口;
    build: # 构建目录
    depends_on: # 服务依赖配置
    env_file: # 环境变量配置文件
  serviceName2:
    image:
    command:
    environment:
    volumes:
  serviceName3:
    image:
    command:
    networks:
    ports:
volumes: # 相当于docker volume create
networks: # 相当于docker network create

# 文件名:
docker-compose.yaml / docker-compose.yml
compose.yaml / compose.yml
# 任选其中一个即可

docker compose常见命令

-f: 指定配置文件的位置,可以多次指定,但是多次指定的配置文件最终会合并成一个配置文件;如果后一个配置文件中和前一个配置文件中在同层具有相同标签,则会覆盖,否则则会新增;
-p: 指定项目名称;

  1. 通过顶级标签:name: xxx 来设置
  2. 指定的配置文件的目录名
  3. 如果没有指定配置文件,那么就是当前目录名

docker compose up

语法:docker compose up [OPTIONS] [SERVICE…]
功能: 构建镜像、创建容器、重新创建容器、启动容器并关联服务相关的一些操作。可以直接通过该命令来启动一个项目;
经试验发现,如果该命令什么参数都不带的情况下启动,那么它会查看.ymal文件如果在这个文件中对应的服务存在容器,并且配置项没有改变,那么就会直接启动这个容器,不会新建容器;如果配置文件中某个服务的配置更改了,那么是需要重新创建容器在启动的,无论这个容器是否已经存在;
参数:
-d: 后台运行服务;
–force-recreate: 强制重新创建容器,不能与--no-recreate 同时使用;
–no-recreate: 如果容器已经存在,则不需要重新创建,直接启动容器,无论这个容器服务对应的配置文件是否修改!
实战:
首先来看看docker -compose.ymal文件:
在这里插入图片描述
在这里插入图片描述

docker compose down

语法: docker compose down [OPTIONS] [SERVICES]
功能: 停止并删除容器、网络、存储卷以及创建出来的镜像;
默认会删除的东西有:

  1. 某个服务对应的容器;
  2. .ymal 文件中创建的网络
  3. Docker Compose在默认情况下会创建一个名为default的网络,用于连接在同一个docker-compose.yml文件中定义的服务。除非在docker-compose.yml文件中明确指定了其他网络,否则服务会默认连接到这个default网络。当您运行docker-compose down时,这个默认的default网络(如果它被使用了)通常也会被移除,除非它被显式地标记为external或者通过其他方式被外部管理。
    参数:
    -v: 删除命名卷和匿名卷
    –rmi:删除被服务使用的镜像,一般会有两个选项: local: 表示删除没有标签的镜像,比如: <none>:<none>all: 表示删除所有镜像
    实战:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

docker compose run

语法: docker compose run [OPTIONS] SERVICES [COMMAND] [ARGS…]
功能:对服务运行一次性命令,简而言之就是启动SERVICES服务,并以COMMAND作为服务的启动命令;
如果服务未启动,那么该run命令会启动服务,并运行指定的命令;如果服务以及启动,那么该run命令会直接执行指定命令;
参数:
-d: 后台运行服务;
–name : 指定容器的名字
–entrypoint: 覆盖默认的容器启动指令
-e key=val: 设置环境变量;
-u :指定容器运行的用户名
–rm : 运行完命令过后自动删除容器;
-p:端口映射;
实战:

在这里插入图片描述

基本操作练习

举报

相关推荐

0 条评论