文章目录
一、前言
在上一篇文章中已经对docker compose进行了介绍以及安装, 下面正式进入到docker compose配置文件与常用命令讲解的讲解。
二、docker-compose模板命令讲解
version:指定docker-compose.yml文件的版本
格式:
version: "版本号"
示例:
version: "3.0"
docker compose 与 docker的兼容性如下 (可以向下兼容,即: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

最低0.47元/天 解锁文章
1808

被折叠的 条评论
为什么被折叠?



