docker compose的基本使用

本文介绍了docker-compose.yml文件的详细配置,包括version、services、networks和volumes等关键部分。通过示例展示了如何定义服务、端口映射、网络及数据卷,阐述了其在多容器组合开发中的应用,帮助读者理解并掌握Docker Compose的使用方法。

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

docker-compose.yml文件详解

  1. 概念
    官方文档: http://docs.docker.com/compose/compose-file/
    docker compose允许用户通过docker-compose.yml文件来定义一组相关联的容器为一个工程,一个工程包含多个服务,每个服务中定义了创建容器时所需的镜像、参数、依赖等。
    工程名若无特殊指定,即为docker-compose.yml文件所在目录的名称。

docker-compose模板文件我们需要关注的顶级配置有version、services、networks、volumes几个部分,除version外,其他几个顶级配置下还有很多下级配置。
.version: 描述compose文件的版本信息
.services: 定义服务,可以多个,每个服务中定义了创建容器时所需的镜像、参数、依赖等
.networks: 定义网络,可以多个,根据dns server 让相同网络中的容器可以直接通过容器名称进行通信
volumes: 数据卷,用于实现目录挂载

  1. 案例
    在配置文件中,所有容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启,非常适合多个容器组合使用进行开发的场景。
    编写docker-compose.yml文件。
    创建目录
    mkdir -p /usr/local/docker-nginx
    切换到指定目录
    cd /usr/local/docker-nginx
    填写docker-compose.yml文件
    vim docker-compose.yml

在文件中加入以下内容:

#描述compose文件的版本信息
version: "3.8"
#定义服务,可以多个
services:
  nginx: #服务名称
    image: nginx #创建容器时候所需镜像
    container_name: mynginx #容器名称,默认为 工程名称_服务条目名称_序号
    ports: #宿主机与容器的端口映射关系
      - "80:80" #左边宿主机端口,右边容器端口
    networks: #配置容器连接的网络,引用顶级 networks 下的条目
      - nginx-net

#定义网络,可以多个。如果不声明,默认会创建一个网络名称为"工程名称_default"的bridge网络
networks:
  nginx-net: #一个具体网络的条目名称
    name: nginx-net #网络名称,默认为"工程名称_网络条目名称"
    driver: bridge #网络模式,默认为bridge

docker-compose up
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值