Docker-compose.yml文件yml文件格式类似于json,用缩进来区分上下级关系。它支持各种数据类型,字符,布尔,整数,日期,时间等。详细语法可以自己查。
最后一个docker-compose.yml文件示例如下
# yaml配置版本:“1.18”服务:web: build:。/main.goports: -"8080: 8080 "默认为docker-compose.yml,也可以使用。yaml扩展格式。
然后逐行解释所涉及的命令。
这个版本没什么好说的,它代表的是镜像版本,而且这个和你所依据的镜像版本是一致的。
服务提供模块,也可以认为是容器实例,可以包含多个子服务,可以同时运行同一个镜像的多个服务。
Web服务名称,可自定义,
Build用于声明构建镜像的上下文路径,扫描该路径下的Dockerfile文件,构建镜像。
的所有服务都必须通过build命令或image命令生成指定的映像。
* *端口服务端口映射,可以映射多个端口,相当于docker -p命令* *
Dockerfile文件分析既然多次提到Dockerfile,那我们也来分析一下。
例子如下
迪克文件
# FROM设置环境变量envgopath =/opt/repo envgo 11 module = oneenvgoproxy = https://go proxy . io基于golang:1.18-alpine FROM golang:1.18-alpine作为构建器# env。设置亚洲/北京时区运行apk --no-缓存添加tzdata & & amp\ ln-SF/usr/share/zoneinfo/Asia/Beijing/etc/local time & amp;& amp\ echo“亚洲/北京”& gt/etc/timezone#从镜像复制源路径目标路径COPY --from = builder/opt/opt # EXPOSE设置端口映射EXPOSE 8080/tcp# WORKDIR设置工作目录WORKDIR /opt# CMD设置启动命令CMD ["。/main.go "," run"]其实我的评论已经写的很清楚了吧?
这里是对copy的补充。这里,这个副本的源路径不是主机的路径,而是镜像中的路径,目标路径是容器中的路径。
Workdir是设置的工作目录,但不在主机中,而是在镜像的每一层创建。
当docker构建时,每次运行都会创建一个新的镜像层。只有在声明了workdir的情况下,才能在创建新的镜像层时在每个层中创建目录。
以上是Docker系列compose ymal文件解析研究的详细内容。关于Docker compose ymal文件解析的更多信息,请关注主机频道zhujipindao的其他相关文章。com!
评论前必须登录!
注册