Docker的compose ymal文件实例分析
导读:本文共1310.5字符,通常情况下阅读需要4分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要:希望大家仔细阅读,能够学有所成!docker-compose.yml 文件yml文件格式与json类似,采用缩进的形式来区别上下级关系,支持多种数据类型,字符,布尔,整数,日期,时间等。docker-compose.yml 文件示例如下#yaml配置version:'1.18'services:web:build:./main.goports:-"8080:8... ...
目录
(为您整理了一些要点),点击可以直达。希望大家仔细阅读,能够学有所成!
yml文件格式与json类似,采用缩进的形式来区别上下级关系,支持多种数据类型,字符,布尔,整数,日期,时间等。
docker-compose.yml 文件示例如下
默认为docker-compose.yml ,也可以使用.yaml扩展名格式也可
那么就逐行解释一下涉及到的命令
version 这个没什么好说的,代表的是镜像的版本,这个跟你基于的镜像版本一致
services 服务提供模块,也可以认为是容器实例,可包含多个子服务,可同时运行多个相同镜像的services
web 子服务名称,可自定义,
build 用于声明构建镜像的上下文路径,会扫描该路径下的Dockerfile文件并构建镜像
所有的服务都要通过build命令或者image命令去生成指定镜像
ports 服务端口映射,可映射多个端口,等同于docker -p 命令
既然多次提到了Dockerfile这文件,那么我们也解析一下
示例如下
Dickerfile
COPY--from=builder/opt/opt
EXPOSE8080/tcp
WORKDIR/opt
CMD["./main.go","run"]
其实我的注解写的已经很清晰了是吧
这里补充一下copy这里,这个copy的源路径不是宿主机的路径,而是镜像中的路径,目标路径是容器中路径
workdir 是设置的工作目录,但却不是在宿主机中,而是在镜像的每层都创建该工作目录
docker build时,每当执行run时就会创建新的镜像层,只有声明了workdir才能在创建新的镜像层的时候将该目录创建在每一层
Docker的compose ymal文件实例分析的详细内容,希望对您有所帮助,信息来源于网络。