Docker入门到实践 (十三) docker compose配置文件与常用命令讲解


一、前言

  在上一篇文章中已经对docker compose进行了介绍以及安装, 下面正式进入到docker compose配置文件与常用命令讲解的讲解。



二、docker-compose模板命令讲解

version:指定docker-compose.yml文件的版本

格式:
    version: "版本号"
示例:
    version: "3.0"

docker composedocker的兼容性如下 (可以向下兼容,即:docker版本在19.03.0+这个版本,可以使用docker compose3.8版本或者3.8以下的版本都是可以的,不过推荐写低两位,避免最新版本不兼容,即:3.0~3.6之间)

docker compose文件格式版本 docker版本
3.8 19.03.0+
3.7 18.06.0+
3.6 18.02.0+
3.5 17.12.0+

services:多个应用容器的集合,一个服务就代表一个应用容器

version: "3.0"
services:
   定义服务

build:指定构建镜像时,Dockerfile 所在目录的路径 (可以是绝对路径,也可以是相对 docker-compose.yml 文件的路径)。docker-compose指令将会利用它自动构建这个镜像,然后使用这个镜像

/**
 * 方式一:使用的是相对路径,指的是Dockerfile文件在其
 *        docker-compose.yml当前目录下的dir目录中,
 *        文件名称必须叫Dockerfile
 * 
 * 这里的webapp指的是你的服务名,在docker-compose.yml文件中必须唯一      
 **/
version: "3.0"
services:
  webapp:
    build: ./dir



/**
 * 方式二:
 *   1、可以使用context指令指定Dockerfile所在目录的路径
 *   2、如果名称不叫Dockerfile,可以使用dockerfile指令
 *      指定其文件名             
 **/
version: "3.0"
services:
  webapp:
    build:
      context: ./dir
      dockerfile: myfile

image:指定服务所使用的镜像,如果镜像在本地不存在,docker-compose指令将会尝试去拉取这个镜像。与build指令二选一

version: "3.0"
services:
  webapp:
    image: nginx:1.21.1

container_name:指定容器名称。如果不指定默认将会使用 项目名称_服务名称_序号这样的格式

version: "3.0"
services:
  webapp:
    image: nginx:1.21.1
    container_name: myNginx

ports:指定容器暴露的端口信息,使用 宿主端口:容器端口 (HOST:CONTAINER) 格式,或者仅仅指定容器的端口 (宿主将会随机选择端口)都可以

version: "3.0"
services:
  webapp:
    image: nginx:1.21.1
    container_name: myNginx
    ports:
      - "80:80"

注:在暴露端口时,建议都采用引号包括起来的字符串格式,避免解析出错

volumes:数据卷所挂载路径设置。可以设置为 宿主机绝对路径:容器内目录的绝对路径 或者 数据卷名称:容器内目录的绝对路径,并且还可以设置访问模式 (默认为rw读写模式,ro表示只读)

/**
 * 方式一:使用宿主机绝对路径进行挂载    
 **/
version: "3.0"
services:
  webapp:
    image: mysql:5.6
    container_name: myMysql
    ports:
      - "3306:3306"
    volumes:
      - /root/data:/var/lib
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值