当前位置: 首页 > 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的版本
http://www.lryc.cn/news/480299.html

相关文章:

  • Spring学习笔记_29——@Transactional
  • github使用基础
  • Flink-Kafka-Connector
  • 远程终端vim里使用系统剪切板
  • 底层视角看C语言
  • 【点云学习笔记】——分割任务学习
  • Qt——窗口
  • InfluxDB性能优化指南
  • 负载均衡式在线oj项目开发文档2(个人项目)
  • ssm081高校实验室管理系统的设计与实现+vue(论文+源码)_kaic
  • GitLab基于Drone搭建持续集成(CI/CD)
  • 用GPB外链打造长期稳定的SEO优势!
  • 第11章 内连接与外连接
  • C++ 游戏开发:打造高效、性能优越的游戏世界
  • 太速科技-440-基于XCVU440的多核处理器多输入芯片验证板卡
  • 澳鹏通过高质量数据支持 Onfido 优化AI反欺诈功能
  • 基于ECS实例搭建Hadoop环境
  • 关于vue如何监听route和state以及各自对应的实际场景
  • 【计网不挂科】计算机网络期末考试(综合)——【选择题&填空题&判断题&简述题】完整题库
  • Linux(CentOS)设置防火墙开放8080端口,运行jar包,接收请求
  • 对比:生成对抗网络(GANs)和变分自编码器(VAEs)
  • sqlserver inner join on 条件是包含 怎么写
  • 开源 AI 智能名片 S2B2C 商城小程序在微商内容展示中的应用与价值
  • Codeforces Round 984 (Div. 3) (A~E)
  • pytorch3d报错:RuntimeError: Not compiled with GPU support.
  • 软考中级-软件设计师 数据结构与算法
  • 关于CSS表达使中使用的 max() 函数
  • 51单片机教程(八)- 数码管的静态显示
  • 案例精选 | 河北省某检察院安全运营中异构日志数据融合的实践探索
  • clickhouse自增id的处理