Docker Compose使用

  • Docker 笔记

    什么是 Docker?

    Docker是一种用于构建、发布和运行应用程序的容器化技术,通过将应用程序及其依赖项打包到一个可移植的容器中,使得应用程序可以在任何地方运行,简化了应用程序的部署和管理。

    Docker 安装

    使用以下命令,可以安装 Docker:

    复制curl -sSL https://get.docker.com/ | sh
    

    Docker 使用

    使用以下命令可以从 Docker Hub 上拉取镜像并运行容器:

    复制docker pull image_name
    docker run image_name
    

    其中 image_name 是镜像的名称。

    Dockerfile

    Dockerfile 是一个文本文件,其中包含了一系列用于构建 Docker 镜像的操作指令。可以通过创建 Dockerfile,来构建自定义镜像。

    以下是一个简单的 Dockerfile:

    复制FROM ubuntu:latest
    RUN apt-get update && \
        apt-get install -y nginx
    CMD ["/usr/sbin/nginx", "-g", "daemon off;"]
    

    其中:

    • FROM 指定了基础镜像。
    • RUN 在镜像中运行命令。
    • CMD 指定了容器启动时要执行的命令。

    Docker Compose

    Docker Compose 是 Docker 官方的工具,用于定义和运行多容器 Docker 应用程序。它可以将多个容器组合成一个应用程序,简化了多容器应用程序的部署和管理。

    以下是一个简单的 Docker Compose 文件:

    复制version: '3'
    services:
      web:
        build: .
        ports:
          - "80:80"
      redis:
        image: "redis:alpine"
    

    其中:

    • version 指定了 Docker Compose 的版本。
    • services 定义了多个服务,其中 web 是自定义的容器名称,build 指定了构建镜像所在的目录,ports 指定了端口映射。
    • redis 是官方的 Redis 镜像,直接使用。

    Docker Compose 使用

    使用以下命令可以启动容器:

    复制docker-compose up
    

    使用以下命令可以停止并删除容器:

    复制docker-compose down
    

    以上就是 Docker 和 Docker Compose 的基础知识。下一步,你可以进一步学习如何创建自己的 Docker 镜像和使用 Docker Compose 部署多容器应用程序。

    Docker Compose 笔记

    什么是 Docker Compose?

    Docker Compose是Docker官方的工具,用于定义和运行多容器Docker应用程序。它可以将多个容器组合成一个应用程序,简化了多容器应用程序的部署和管理。

    Docker Compose 安装

    使用以下命令,可以安装 Docker Compose:

    复制curl -L https://github.com/docker/compose/releases/download/{version}/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    chmod +x /usr/local/bin/docker-compose
    

    其中,{version} 是 Docker Compose 的版本号。

    Docker Compose 使用

    使用以下命令可以启动容器:

    复制docker-compose up
    

    使用以下命令可以停止并删除容器:

    复制docker-compose down
    

    Docker Compose YAML 文件示例

    以下是一个简单的 Docker Compose YAML 文件的示例:

    复制version: '3'
    services:
      web:
        build: .
        ports:
          - "5000:5000"
      redis:
        image: "redis:alpine"
    

    其中:

    • version 指定了 Docker Compose 的版本。
    • services 定义了多个服务,其中 web 是自定义的容器名称,build 指定了构建镜像所在的目录,ports 指定了端口映射。
    • redis 是官方的 Redis 镜像,直接使用。

    Docker Compose 命令

    以下是一些 Docker Compose 常用命令的示例:

    • docker-compose up 启动容器。
    • docker-compose down 停止并删除容器。
    • docker-compose ps 列出正在运行的容器。
    • docker-compose logs 查看容器的日志。
    • docker-compose build 构建镜像。
    • docker-compose pull 拉取镜像。

    以上就是 Docker Compose 的基础知识。通过学习 Docker 和 Docker Compose,你可以更加简单地管理多个容器的应用程序。

    Docker Compose详细参数说明

    version

    version 参数定义了compose文件的版本,必需的字段且必须为字符串格式。例如:

    复制version: "3.9"
    

    services

    services 参数定义需要在compose环境中运行的服务。每个服务都表示为一个独立的服务。例如:

    复制services:
      app:
        image: app
        build: .
    

    image

    image 指定要使用的Docker映像,可以是本地映像名称或Docker Hub的公共映像(需要加上用户名)。例如:

    复制image: redis:alpine
    

    build

    build 指定要使用的构建上下文及Dockerfile位置。例如:

    复制build:
      context: ./dir
      dockerfile: Dockerfile-alternate
    

    ports

    ports 将容器中的端口映射到宿主机器的端口。例如:

    复制ports:
      - "3000:3000"
    

    volumes

    volumes 映射容器内的文件或文件夹到宿主机器。例如:

    复制volumes:
      - ./logs:/opt/logs
      - db-data:/var/lib/mysql
    

    environment

    environment 设置容器所需的环境变量,可以使用键值对的形式设置多个环境变量。例如:

    复制environment:
      RACK_ENV: development
      SHOW: 'true'
      SESSION_SECRET:
    

    networks

    networks 定义容器所连接的网络。例如:

    复制networks:
      front-tier:
        driver: custom-driver-1
      back-tier:
        driver: custom-driver-2
    

    depends_on

    depends_on 服务依赖关系,表示需要在该服务之前启动的服务。例如:

    复制depends_on:
      - db
    

    command

    command 定义容器启动时要运行的命令行语句。例如:

    复制command: bundle exec thin -p 3000
    

    healthcheck

    healthcheck 定义容器的健康检查方式,包括检查方式、检查时间和检查重试次数。例如:

    复制healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost"]
      interval: 1s
      timeout: 10s
      retries: 3
    

    secrets

    secrets 定义要在compose中使用的secret配置。例如:

    复制secrets:
      apikey:
        file: ./apikey.txt
    

    以上是docker compose文件的详细参数说明,希望能对您有所帮助。

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值