docker-compose命令介绍
docker-compose命令介绍
- docker-compose
- 1. docker-compose是什么
- 2. Compose file format
- 3. 命令
- 3.1 服务相关命令
- up
- run
- create
- start
- restart
- down
- stop
- kill
- rm
- pause
- unpause
- 3.2 镜像相关命令
- 3.3 查看相关命令
docker-compose
学了docker,然后就直接去学k8s了。恍恍惚惚几年过去了,k8s早就没有摸过,当然也就没有用过了。
日常工作也便没有了接触,但是容器化还是开发默认的设定,很多时候还是需要快速部署个测试环境。
这个时候使用docker一个个部署好麻烦,使用k8s当然也没有那个环境,此时docker-compose似乎是个好的选择。
这也是我为啥讲讲docker-compose的原因了。
1. docker-compose是什么
📌 github docker-compose
Docker Compose is a tool for running multi-container applications on Docker defined using the Compose file format.
A Compose file is used to define how one or more containers that make up your application are configured.
It also has commands for managing the whole lifecycle of your application:
- Start, stop, and rebuild services
- View the status of running services
- Stream the log output of running services
- Run a one-off command on a service
2. Compose file format
https://github.com/compose-spec/compose-spec/blob/main/spec.md
The default path for a Compose file is compose.yaml (preferred) or compose.yml
also supports docker-compose.yaml and docker-compose.yml
If both files exist, Compose prefers the canonical compose.yaml.
3. 命令
(base) ~/ docker-compse --help
zsh: permission denied: docker-compse
(base) ~/ docker-compose --helpUsage: docker compose [OPTIONS] COMMANDDefine and run multi-container applications with Docker.Options:--ansi string Control when to print ANSI control characters ("never"|"always"|"auto") (default "auto")--compatibility Run compose in backward compatibility mode--dry-run Execute command in dry run mode--env-file stringArray Specify an alternate environment file.-f, --file stringArray Compose configuration files--parallel int Control max parallelism, -1 for unlimited (default -1)--profile stringArray Specify a profile to enable--progress string Set type of progress output (auto, tty, plain, quiet) (default "auto")--project-directory string Specify an alternate working directory(default: the path of the, first specified, Compose file)-p, --project-name string Project nameCommands:build Build or rebuild servicesconfig Parse, resolve and render compose file in canonical formatcp Copy files/folders between a service container and the local filesystemcreate Creates containers for a service.down Stop and remove containers, networksevents Receive real time events from containers.exec Execute a command in a running container.images List images used by the created containerskill Force stop service containers.logs View output from containersls List running compose projectspause Pause servicesport Print the public port for a port binding.ps List containerspull Pull service imagespush Push service imagesrestart Restart service containersrm Removes stopped service containersrun Run a one-off command on a service.start Start servicesstop Stop servicestop Display the running processesunpause Unpause servicesup Create and start containersversion Show the Docker Compose version information
3.1 服务相关命令
通常我们都是使用docker-compose快速起服务,
此时一般使用up启动整个服务,
然后使用down删除容器和网络,可选的删除卷:
create Creates containers for a service.run Run a one-off command on a service.start Start servicesup Create and start containersrestart Restart service containersstop Stop servicesrm Removes stopped service containersdown Stop and remove containers, networkskill Force stop service containers.pause Pause servicesunpause Unpause servicesexec Execute a command in a running container.cp Copy files/folders between a service container and the local filesystem
up
用于启动并运行整个Compose文件中定义的所有服务。
示例:
启动所有服务并在前台显示日志:docker-compose up
启动所有服务并在后台运行:docker-compose up -d
仅启动特定服务:docker-compose up service_name
run
主要用于在已经运行的服务中启动一个新的容器来执行一次性任务或命令。
示例:
在 web 服务的环境中运行 bash 命令:docker-compose run web bash
执行一个自定义命令:docker-compose run --rm web python manage.py migrate
create
用于创建服务容器,但不启动它们。这个命令通常用于预先创建容器以便稍后启动。
start
用于启动已经存在的服务容器,但不会创建新的容器。
restart
Restart service containers
(base) ~/data/es_7/ docker-compose restart kibana_7
[+] Restarting 1/1✔ Container kibana_7 Started
down
用于停止服务并彻底清理所有相关的资源,包括容器、网络和可选的卷。
stop
用于优雅地停止服务,给予服务一定的时间来执行清理工作。
kill
用于立即停止服务,不等待服务进行任何清理。
rm
用于删除已经停止的容器,但不自动清理网络和其他资源。
pause
用于暂停运行中的容器,冻结容器内的所有进程。
unpause
用于解除暂停状态,恢复被暂停的容器的执行。
(base) ~/data/es_7/
(base) ~/data/es_7/
(base) ~/data/es_7/ docker-compose pause kibana_7
[+] Pausing 1/0✔ Container kibana_7 Paused 0.0s
(base) ~/data/es_7/ docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
elasticsearch_7 elasticsearch:7.16.3 "/bin/tini -- /usr/l…" elasticsearch_7 3 weeks ago Up 26 hours 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp
kibana_7 kibana:7.16.3 "/bin/tini -- /usr/l…" kibana_7 3 weeks ago Up 15 minutes (Paused) 0.0.0.0:5601->5601/tcp
(base) ~/data/es_7/
(base) ~/data/es_7/
(base) ~/data/es_7/ docker-compose unpause kibana_7
[+] Running 1/0✔ Container kibana_7 Unpaused 0.0s
(base) ~/data/es_7/ docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
elasticsearch_7 elasticsearch:7.16.3 "/bin/tini -- /usr/l…" elasticsearch_7 3 weeks ago Up 26 hours 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp
kibana_7 kibana:7.16.3 "/bin/tini -- /usr/l…" kibana_7 3 weeks ago Up 15 minutes 0.0.0.0:5601->5601/tcp
(base) ~/data/es_7/
(base) ~/data/es_7/
3.2 镜像相关命令
build Build or rebuild servicesconfig Parse, resolve and render compose file in canonical formatpull Pull service imagespush Push service images
3.3 查看相关命令
都支持json的返回格式。
events 查看服务的事件images 查看服务使用的镜像logs 查看服务的日志ls 列举服务port 这个感觉很鸡肋,直接用ps命令查看吧。用于查看服务暴露的端口映射到主机上的那个端口ps 列举容器top 查看容器中的进程,类似于psversion 查看docker compose的版本
相关文章:
docker-compose命令介绍
docker-compose命令介绍 docker-compose1. docker-compose是什么2. Compose file format3. 命令3.1 服务相关命令upruncreatestartrestartdownstopkillrmpauseunpause 3.2 镜像相关命令3.3 查看相关命令 docker-compose 学了docker,然后就直接去学k8s了。恍恍惚惚几…...
Spring学习笔记_29——@Transactional
Transactional 1. 介绍 Transactional 是 Spring 框架提供的一个注解,用于声明方法或类级别的事务属性。 Spring事务:Spring学习笔记_28——事务-CSDN博客 当你在一个方法或类上使用 Transactional 注解时,Spring 会为该方法或类创建一个…...
github使用基础
要通过终端绑定GitHub账号并进行文件传输,你需要使用Git和SSH密钥来实现安全连接和操作。以下是一个基本流程: 设置GitHub和SSH 检查Git安装 通过终端输入以下命令查看是否安装Git: bash 复制代码 git --version配置Git用户名和邮箱 bash …...
Flink-Kafka-Connector
Apache Flink 是一个用于处理无界和有界数据的开源流处理框架。它支持高吞吐量、低延迟以及精确一次的状态一致性等特性。Flink 社区提供了丰富的连接器(Connectors)以方便与不同的数据源进行交互,其中就包括了 Apache Kafka 连接器。 Apach…...
远程终端vim里使用系统剪切板
1、本地通过终端远程linux server,由于不是桌面环境/GUI,终端vim里似乎没办法直接使用系统剪切板,即便已经是clipboard。 $ vim --version | grep clipboard clipboard keymap printer vertsplit eval …...
底层视角看C语言
文章目录 main函数很普通main函数之前调用了什么main函数和自定义函数的对比 变量名只为人而存在goto是循环的本质指针变量指针是一个特殊的数字汇编层面看指针 数组和指针数组越界问题低端地址越界高端地址越界 引用就是指针 main函数很普通 main函数是第一个被调用的函数吗&…...
【点云学习笔记】——分割任务学习
3D点云实例分割 vs 3D点云语义分割 1. 功能对比 代码1(实例分割):用于3D点云中的实例分割任务,其目标是将点云中的物体分割成独立的实例。每个实例可能属于相同类别但需要被分开,比如在自动驾驶中的多个行人、汽车&am…...
Qt——窗口
一.窗口概述 Qt 窗口是通过 QMainWindow 类来实现的。 QMainWindow是一个为用户提供主窗口程序的类,继承QWidget类,并且提供一个预定义的布局。包含一个菜单栏(menu bar),多个工具栏(tool bars࿰…...
InfluxDB性能优化指南
1. 引言 1.1 InfluxDB的简介与发展背景 InfluxDB是一个开源的时间序列数据库(TSDB),由InfluxData公司开发,专门用于处理高频率的数据写入和查询。其设计初衷是为物联网、应用程序监控、DevOps和实时分析等场景提供一个高效的存储…...
负载均衡式在线oj项目开发文档2(个人项目)
judge模块的框架 完成了网页渲染的功能之后,就需要判断用户提交的代码是否是正确的,当用户点击提交之后,就会交给路由模块的/judge模块,然后这个路由模块就需要去调用jude模块了,也就是需要一个新的jude模块ÿ…...
ssm081高校实验室管理系统的设计与实现+vue(论文+源码)_kaic
毕 业 设 计(论 文) 题目:高校实验室管理系统的设计与实现 摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很…...
GitLab基于Drone搭建持续集成(CI/CD)
本文介绍了如何为 Gitee 安装 Drone 服务器。服务器打包为在 DockerHub 上分发的最小 Docker 映像。 1. 准备工作 创建OAuth应用 创建 GitLab OAuth 应用。Consumer Key 和 Consumer Secret 用于授权访问极狐GitLab 资源。 ps:授权回调 URL 必须与以下格式和路径匹配&…...
用GPB外链打造长期稳定的SEO优势!
很多人在谈外链时,总喜欢纠结是追求数量还是追求质量。其实,最理想的策略是两者兼顾。而在这其中,GPB外链可以说是长期SEO提升的“法宝”。为什么这么说?因为GPB外链不仅保证了高质量,还附带了与网站主题高度相关的原创…...
第11章 内连接与外连接
一、介绍内连接与外连接 (1)内连接与外连接介绍 1、内连接:合并具有同一列的两个以上的表的行, 结果集中不包含一个表与另一个表不匹配的行。 2、外连接:: 两个表在连接过程中除了返回满足连接条件的行以外还返回左(…...
C++ 游戏开发:打造高效、性能优越的游戏世界
在游戏开发领域,C 一直是最受欢迎的编程语言之一。其高效的内存管理和对硬件的底层控制,使得 C 成为开发高性能游戏的首选语言。从大型 3D 游戏引擎到独立游戏的制作,C 在游戏开发中发挥了不可替代的作用。 本文将带你了解 C 在游戏开发中的…...
太速科技-440-基于XCVU440的多核处理器多输入芯片验证板卡
基于XCVU440的多核处理器多输入芯片验证板卡 一、板卡概述 本板卡系我司自主研发的基于6U CPCI处理板,适用于多核处理器多输入芯片验证的应用。芯片采用工业级设计。 基于XCVU440T的多核处理器多输入芯片验证板卡基于6U CPCI架构,是单机中的一个…...
澳鹏通过高质量数据支持 Onfido 优化AI反欺诈功能
“Appen 在 Onfido 的发展中发挥了至关重要的作用,并已成为我们运营的重要组成部分。我们很高兴在 Appen 找到了可靠的合作伙伴。” – Onfido 数据和分析总监 Francois Jehl 简介:利用人工智能和机器学习增强欺诈检测 在当今日益数字化的世界ÿ…...
基于ECS实例搭建Hadoop环境
环境搭建: 【ECS生长万物之开源】基于ECS实例搭建Hadoop环境-阿里云开发者社区 搭建Hadoop环境_云服务器 ECS(ECS)-阿里云帮助中心 Hadoop入门基础(二):Hadoop集群安装与部署详解(超详细教程)࿰…...
关于vue如何监听route和state以及各自对应的实际场景
一、监听route 场景:监听浏览器地址栏分页参数的变化 // 注意 newPageNum和 oldPageNum是 string类型 $route.query.pageNum(newPageNum, oldPageNum) {if (newPageNum ! oldPageNum && newPageNum ! this.pageNum.toString()) {this.handleCurrentChange(p…...
【计网不挂科】计算机网络期末考试(综合)——【选择题&填空题&判断题&简述题】完整题库
前言 大家好吖,欢迎来到 YY 滴计算机网络 系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 本博客主要内容,收纳了一部门基本的计算机网络题目,供yy应对期中考试复习。大家可以参考 欢迎订阅 YY滴其他专栏!…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
