论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
主机系统
›
linux
›
Docker-compose 常用命令和模板
Docker-compose 常用命令和模板
罪恶克星
论坛元老
|
2024-5-20 17:25:38
|
显示全部楼层
|
阅读模式
楼主
主题
1915
|
帖子
1915
|
积分
5745
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
docker-compose logs -f ##查看该容器的启动的日志打印(日志从头打印
docker logs -f container_id ##查看某一容器的启动的日志打印(日志从头打印)
docker logs -f --tail(-t) 数量词 container_id ##查看某一容器的启动的日志打印(查看最后n条日志打印)
复制代码
Compose 模板文件
模板文件是利用 Compose 的核心,涉及到的指令关键字也比较多。但大家不用担心,这里面大部门指令跟
docker run
相关参数的含义都是类似的。
默认的模板文件名称为 docker-compose.yml ,格式为 YAML 格式。
下面分别先容各个指令的用法:
build
指定 Dockerfile 所在文件夹的路径(可以是绝对路径,大概相对 dockercompose.yml 文件的路径)。
Compose 将会利用它自动构建这个镜像,然后利用这个镜像。
build: /path/to/build/dir
复制代码
image
指定为镜像名称或镜像 ID。如果镜像在当地不存在,Compose 将会尝试拉去这个镜像。
image: ubuntu
image: orchardup/postgresql
image: a4bc65fd
复制代码
labels
为容器添加 Docker 元数据(metadata)信息。例如可以为容器添加辅助说明信息。
labels:
com.startupteam.description: "webapp for a startup team"
com.startupteam.department: "devops department"
com.startupteam.release: "rc3 for v1.0"
复制代码
links
链接到其它服务中的容器。利用服务名称(同时作为别名)或
服务名称:服务别名
(SERVICE:ALIAS) 格式都可以。
links:
- db
- db:database
- redis
###使用的别名将会自动在服务容器中的 /etc/hosts 里创建。
例如:
172.17.2.186 db
172.17.2.186 database
172.17.2.187 redis
复制代码
net
设置网络模式。和
docker client
的-net参数雷同
net: "bridge"
net: "none"
net: "container:[name or id]"
net: "host"
复制代码
cap_add, cap_drop
指定容器的内核本事(capacity)分配。
##例如
让容器拥有所有能力可以指定为:
cap_add:- ALL
去掉 NET_ADMIN 能力可以指定为:
cap_drop:- NET_ADMIN
复制代码
command
覆盖容器启动后
默认实行的命令。
command: echo "hello world"
复制代码
container_name
指定容器名称
。默认将会利用 项目名称_服务名称_序号 这样的格式。
container_name: docker-web-container
复制代码
注意:指定容器名称后,该服务将
无法进行扩展
(scale),因为 Docker 不允许多个容用具有雷同的名称。
devices
指定装备映射关系。
devices:- "/dev/ttyUSB1:/dev/ttyUSB0"
复制代码
dns
自定义 DNS 服务器。可以是一个值,也可以是一个列表。
dns: 8.8.8.8
dns:- 8.8.8.8- 9.9.9.
复制代码
dockerfile
如果需要指定额外的编译镜像的 Dockefile 文件,可以通过该指令来指定。
dockerfile: Dockerfile-alternate
复制代码
注意,该指令不能跟 image 同时利用,否则 Compose 将不知道根据哪个指令来生成终极的服务镜像。
environment
设置环境变量。你可以利用
数组或字典
两种格式。
只给定名称的变量会自动获取运行 Compose 主机上对应变量的值,可以用来防止泄露不必要的数据。
##例如
environment:
RACK_ENV: development
SESSION_SECRET:
###或者
environment:
- RACK_ENV=development
- SESSION_SECRET
复制代码
注意:
如果变量名称大概值中用到 true|false,yes|no 等表达布尔含义的词
汇,最好放到引号里,避免 YAML 自动解析某些内容为对应的布尔语义。
expose
暴露端口,但不映射到宿主机,只被连接的服务访问。仅可以指定内部端口为参数
expose:
- "3000"
- "8000
复制代码
ports
暴露端口信息。用于将容器的端口映射到主机上的端口
利用宿主:容器 (HOST:CONTAINER) 格式,大概仅仅指定容器的端口(宿主将会随机选择端口)都可以。
ports:
- "3000" # 绑定容器的3000端口到主机的任意端口,容器启动时随机分配绑定的主机端口号
- "80:80" # 绑定容器的80端口到主机的80端口
- "49100:22" # 绑定容器的22端口到主机的49100端口
- "127.0.0.1:8001:8001"
复制代码
注意:和expose的区别是,expose不会将端口暴露给主机,只能指定容器内部暴露的端口,主机无法访问expose的端口。
volumes
数据卷所挂载路径设置。可以设置
宿主机路径
(HOST:CONTAINER ) 或加上
访问模式
(HOST:CONTAINER:ro )。
volumes:
- /var/lib/mysql ##设置宿主机路径
- cache/:/tmp/cache ##卷和挂载路径
- ~/configs:/etc/configs/:ro ##只读
复制代码
其它指令
指定服务容器启动后实行的命令。
entrypoint: /code/entrypoint.sh
复制代码
指定容器中运行应用的用户名。
user: nginx
复制代码
指定容器中工作目录。
working_dir: /code
复制代码
指定容器中内存和内存互换区限制都为 1G。
mem_limit: 1g
memswap_limit: 1g
复制代码
允许容器中运行一些特权命令。
privileged: true
复制代码
指定容器退出后的重启策略为始终重启。
restart: always
复制代码
以只读模式挂载容器的 root 文件系统,意味着不能对容器内容进行修改。
read_only: true
复制代码
打开标准输入,可以接受外部输入。
stdin_open: true
复制代码
模仿一个假的远程控制台。
tty: true
复制代码
docker-compose常用命令
1、
docker-compose
up
命令聚合每个容器的输出,命令退出时,所有容器都将克制
2、docker-compose up -d
在后台启动容器并使它们保持运行
3、docker-compose stop
克制compose服务
4、docker-compose restart
重启compose服务
5、docker-compose kill
kill compose服务
6、docker-compose ps
查看compose服务状态
7.docker-compose down
关闭和删除当前的docker-compose开启的容器或服务
8、docker-compose rm
删除compose服务
9.docker-compose config
查看 Docker Compose 配置
查看容器日记
docker-compose logs -f ##查看该容器的启动的日志打印(日志从头打印
docker logs -f container_id ##查看某一容器的启动的日志打印(日志从头打印)
docker logs -f --tail 数量词 container_id ##查看某一容器的启动的日志打印(查看最后n条日志打印)
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
罪恶克星
论坛元老
这个人很懒什么都没写!
楼主热帖
2. 函数
从Android开发的角度比较MVC,MVP,MVVM ...
京东张政:内容理解在广告场景下的实践 ...
KAFKA EAGLE 监控MRS kafka之操作实践 ...
关键字和标识符
dotnet 6 为什么网络请求不跟随系统网 ...
HCIA学习笔记十一:ARP地址解析协议 ...
React技术栈 --》plugin与JSX语法使用 ...
数字图像增强的一般方法
Vue前后台数据交互实例演示,使用axios ...
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表