docker-compose.yaml写法,指定本地dockerfile创建(在无网络情况或者自定义的镜像)
docker-compose.yaml关键字
在docker-compose.yaml文件中,定义了Docker Compose服务的配置。以下是一些常用的docker-compose.yaml文件中的参数介绍:
-
version
:指定Docker Compose文件的版本号,定义了使用的Docker Compose的语法版本。 -
services
:定义了要运行的服务及其配置。每个服务都可以指定镜像、端口映射、环境变量、挂载卷等。 -
volumes
:定义了数据卷的配置,可以指定数据卷的名称、驱动、路径等。 -
networks
:定义了网络的配置,可以指定网络的名称、驱动、IP地址等。 -
environment
:定义了环境变量的配置,可以为每个服务指定特定的环境变量。 -
ports
:定义了端口映射的配置,可以将容器内部的端口映射到宿主机上的端口。 -
depends_on
:定义了服务之间的依赖关系,可以指定一个服务依赖于另一个服务。 -
restart
:定义了服务的重启策略,可以指定在什么情况下重启服务。
这些是docker-compose.yaml文件中的一些常用参数,可以根据实际需要进行配置。
详解:
- bulid字段
build 后面跟本地dockerfile路径 - context字段
选项可以是 Dockerfile 的文件路径,也可以是到链接到 git 仓库的 urlbuild: context: ./dir - image字段(没有build就本地查找然后远程,有build就根据dockerfile创建)
services: web: # 服务名称,用户自定义 image: busybox # 镜像名称/镜像ID,如果本地不存在compose会拉取镜像 # 以下格式都可 image: redis image: mysql:latest image: example-registry.com:4000/postgresql
完整写法:(推荐)
``` # 绝对路径 build: /path/build # 相对路径 build:./build # 设定上下文跟目录,以此目录指定Dockerfile build: context: ../ dockerfile: path/Dockerfile # 给Dockerfile构建的镜像命名 build: ./dir image: nginx:latest # 构建过程中指定环境变量,构建成功后取消 build: context: . args: buildno: 1 password: secret or build: context: . args: - buildno=1 - password=secret ##与ENV不同,ARG允许空值 ```
更新 (2023.11.10)
实例:docker-compose.yaml 实测靠谱
version: '3' services: report: #第一个service名字 #image: python3_http #使用已经存在的镜像时候使用 build: . # 使用本地的 restart: always container_name: gentraf_update_ftp ##最终的容器名 #command: ["python3","-m","http.server"] ports: #多个端口映射加引号 - "11240:8000" - "9022:22" volumes: - /home/autotest/report:/root/report
直接up起来
docker-compose up -d
执行之前
执行以后
生成了一个镜像autotest_report_report,可以用在docker-compose.yaml文件里面container_name:重命名
参考资料
本文作者:学不会xuebuhui
本文链接:https://www.cnblogs.com/codedingzhen/p/17824272.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步