Docker(四) docker-compose 扩展
这一篇我们分两部分介绍docker-compose ,第一部分介绍docker-compose.yml中的参数,第二部分介绍
docker-compose命令相关
一、docker-compose.yml参数
image :指定镜像tag或id
实例 : image: ubuntu:14.04
image: a4bc65fd
build :生成镜像
实例 : build:
context: ./ ##路径
dockerfile: xxxxx_dockerfile ##该dockerfile的默认参数值将被替换
args: ##参数
- password=sdadadad
- username=adadasd
command :用来覆盖原有启动命令 (应该就是覆盖dockerfile中CMD 的内容的,并么有那么确定)
实例 : command: java -jar xxx.jar
links :用于连接容器服务,作用就是在指定的容器中生成/ect/hosts
实例:links:
- db
- redis
posts :宿主机端口映射
实例:posts :
- "32000:8080" ##这里是字符串,格式为 宿主机端口:容器端口
expose:提供容器之间访问端口,不会暴露给宿主机
实例:expose:
- "8000"
- "22"
volumes:挂载数据卷
实例: volumes:
- "~/configs:/etc/configs:ro"
docker-compose命令相关
一、docker-compose.yml参数
image :指定镜像tag或id
实例 : image: ubuntu:14.04
image: a4bc65fd
build :生成镜像
实例 : build:
context: ./ ##路径
dockerfile: xxxxx_dockerfile ##该dockerfile的默认参数值将被替换
args: ##参数
- password=sdadadad
- username=adadasd
command :用来覆盖原有启动命令 (应该就是覆盖dockerfile中CMD 的内容的,并么有那么确定)
实例 : command: java -jar xxx.jar
links :用于连接容器服务,作用就是在指定的容器中生成/ect/hosts
实例:links:
- db
- redis
posts :宿主机端口映射
实例:posts :
- "32000:8080" ##这里是字符串,格式为 宿主机端口:容器端口
expose:提供容器之间访问端口,不会暴露给宿主机
实例:expose:
- "8000"
- "22"
volumes:挂载数据卷
实例: volumes:
- "~/configs:/etc/configs:ro"
volumens_from:挂载容器
实例:volumens_from:
- container:container_name:rw
environment:添加环境变量
实例:environment:
- JAVA_HOME=/usr/bin/java/jdk1.8_3u33 ##瞎编的,估计没这个版本
depends_on:添加依赖,可以控制容器启动顺序
实例:depends_on:
- mysql_db
extra_hosts:也是生成/ext/hosts 中的记录
实例: extra_hosts:
- "somehost:162.242.195.82"
以上为常用命令,下面一些命令不一一介绍了,要用到了再一一去查吧
cpu_shares, cpu_quota, cpuset, domainname, hostname,
二、docker-compose 命令
docker-compose命令自动补全 happy working
curl -L https://raw.githubusercontent.com/docker/compose/1.1.0/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
-version:版本信息
build:创建或者再建服务
up:create + run + attach容器到服务
start:运行某个服务中存在的容器
rm:删除停止的容器
pull:pull服务的image
ps:输出运行的容器
logs:输出日志
port:输出绑定的端口
kill -s SIGN:给服务发送特定的信号。
实例:volumens_from:
- container:container_name:rw
environment:添加环境变量
实例:environment:
- JAVA_HOME=/usr/bin/java/jdk1.8_3u33 ##瞎编的,估计没这个版本
depends_on:添加依赖,可以控制容器启动顺序
实例:depends_on:
- mysql_db
extra_hosts:也是生成/ext/hosts 中的记录
实例: extra_hosts:
- "somehost:162.242.195.82"
以上为常用命令,下面一些命令不一一介绍了,要用到了再一一去查吧
cpu_shares, cpu_quota, cpuset, domainname, hostname,
ipc, mac_address, mem_limit, memswap_limit, privileged,
read_only, restart, shm_size, stdin_open, tty, user, working_dir
二、docker-compose 命令docker-compose命令自动补全 happy working
curl -L https://raw.githubusercontent.com/docker/compose/1.1.0/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
-version:版本信息
build:创建或者再建服务
up:create + run + attach容器到服务
start:运行某个服务中存在的容器
rm:删除停止的容器
pull:pull服务的image
ps:输出运行的容器
logs:输出日志
port:输出绑定的端口
kill -s SIGN:给服务发送特定的信号。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库