当前位置: 首页 > news >正文

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&#xff0…...

InfluxDB性能优化指南

1. 引言 1.1 InfluxDB的简介与发展背景 InfluxDB是一个开源的时间序列数据库(TSDB),由InfluxData公司开发,专门用于处理高频率的数据写入和查询。其设计初衷是为物联网、应用程序监控、DevOps和实时分析等场景提供一个高效的存储…...

负载均衡式在线oj项目开发文档2(个人项目)

judge模块的框架 完成了网页渲染的功能之后,就需要判断用户提交的代码是否是正确的,当用户点击提交之后,就会交给路由模块的/judge模块,然后这个路由模块就需要去调用jude模块了,也就是需要一个新的jude模块&#xff…...

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、外连接:: 两个表在连接过程中除了返回满足连接条件的行以外还返回左&#xff08…...

C++ 游戏开发:打造高效、性能优越的游戏世界

在游戏开发领域,C 一直是最受欢迎的编程语言之一。其高效的内存管理和对硬件的底层控制,使得 C 成为开发高性能游戏的首选语言。从大型 3D 游戏引擎到独立游戏的制作,C 在游戏开发中发挥了不可替代的作用。 本文将带你了解 C 在游戏开发中的…...

太速科技-440-基于XCVU440的多核处理器多输入芯片验证板卡

基于XCVU440的多核处理器多输入芯片验证板卡 一、板卡概述 本板卡系我司自主研发的基于6U CPCI处理板,适用于多核处理器多输入芯片验证的应用。芯片采用工业级设计。 基于XCVU440T的多核处理器多输入芯片验证板卡基于6U CPCI架构,是单机中的一个…...

澳鹏通过高质量数据支持 Onfido 优化AI反欺诈功能

“Appen 在 Onfido 的发展中发挥了至关重要的作用,并已成为我们运营的重要组成部分。我们很高兴在 Appen 找到了可靠的合作伙伴。” – Onfido 数据和分析总监 Francois Jehl 简介:利用人工智能和机器学习增强欺诈检测 在当今日益数字化的世界&#xff…...

基于ECS实例搭建Hadoop环境

环境搭建: 【ECS生长万物之开源】基于ECS实例搭建Hadoop环境-阿里云开发者社区 搭建Hadoop环境_云服务器 ECS(ECS)-阿里云帮助中心 Hadoop入门基础(二):Hadoop集群安装与部署详解(超详细教程)&#xff0…...

关于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滴其他专栏!…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

Java 二维码

Java 二维码 **技术&#xff1a;**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展&#xff0c;越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式&#xff0c;也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建&#xff0c;…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

React从基础入门到高级实战:React 实战项目 - 项目五:微前端与模块化架构

React 实战项目&#xff1a;微前端与模块化架构 欢迎来到 React 开发教程专栏 的第 30 篇&#xff01;在前 29 篇文章中&#xff0c;我们从 React 的基础概念逐步深入到高级技巧&#xff0c;涵盖了组件设计、状态管理、路由配置、性能优化和企业级应用等核心内容。这一次&…...

JS红宝书笔记 - 3.3 变量

要定义变量&#xff0c;可以使用var操作符&#xff0c;后跟变量名 ES实现变量初始化&#xff0c;因此可以同时定义变量并设置它的值 使用var操作符定义的变量会成为包含它的函数的局部变量。 在函数内定义变量时省略var操作符&#xff0c;可以创建一个全局变量 如果需要定义…...

Mysql故障排插与环境优化

前置知识点 最上层是一些客户端和连接服务&#xff0c;包含本 sock 通信和大多数jiyukehuduan/服务端工具实现的TCP/IP通信。主要完成一些简介处理、授权认证、及相关的安全方案等。在该层上引入了线程池的概念&#xff0c;为通过安全认证接入的客户端提供线程。同样在该层上可…...

结构化文件管理实战:实现目录自动创建与归类

手动操作容易因疲劳或疏忽导致命名错误、路径混乱等问题&#xff0c;进而引发后续程序异常。使用工具进行标准化操作&#xff0c;能有效降低出错概率。 需要快速整理大量文件的技术用户而言&#xff0c;这款工具提供了一种轻便高效的解决方案。程序体积仅有 156KB&#xff0c;…...