当前位置: 首页 > 知识库问答 >
问题:

docker compose中服务与容器的区别

巫马俊力
2023-03-14

从另一个服务或容器装入所有卷,可选地指定只读访问(ro)或读写(rw)。

volumes_from:
 - service_name
 - service_name:ro
 - container:container_name
 - container:container_name:rw

注:容器:...格式只支持版本2文件格式。在版本1中,您可以使用容器名称,而不必将其标记为:

- service_name
- service_name:ro
- container_name
- container_name:rw

我在这里很困惑,容器和服务在这里有什么区别?

共有1个答案

霍弘厚
2023-03-14

服务和容器是相关的,但两者是不同的东西。

一个服务可以由一个或多个容器运行。使用docker可以处理容器,使用docker-compose可以处理服务。

例如:

web:
  image: example/my_web_app:latest
  expose:
    - 80
  links:
    - db 

db:
  image: postgres:latest

这个组合文件定义了两个服务:WebDB

运行docker-compose up时,假设项目目录为test1,那么compose将启动两个名为test1_db_1test1_web_1的容器。

$ docker ps -a
CONTAINER ID   IMAGE        COMMAND          ...      NAMES
1c1683e871dc   test1_web    "nginx -g"       ...      test1_web_1
a41360558f96   test1_db     "postgres -d"    ...      test1_db_1

因此,在这一点上,您有2个服务,每个服务有1个容器。

但是您可以将名为web的服务扩展为使用5个容器。

$ docker-compose scale web=5
Creating and starting 2 ... done
Creating and starting 3 ... done
Creating and starting 4 ... done
Creating and starting 5 ... done

在这一点上,您有2个服务和6个容器

$ docker ps -a  
CONTAINER ID   IMAGE        COMMAND         ...      NAMES
1bf4c939263f   test1_web    "nginx -g"      ...      test1_web_3
d3033964a44b   test1_web    "nginx -g"      ...      test1_web_4
649bbda4d0b0   test1_web    "nginx -g"      ...      test1_web_5
a265ea406727   test1_web    "nginx -g"      ...      test1_web_2
1c1683e871dc   test1_web    "nginx -g"      ...      test1_web_1
a41360558f96   test1_db     "postgres -d'   ...      test1_db_1

此外,使用docker-compose,您可以对一个或多个服务运行子命令。

$docker-compose stop web
 类似资料:
  • 问题内容: 我正在通过docker compose中的选项。显然,您可以从容器或服务导入卷。从docker compose文档中是: volume_from 从另一个服务或容器挂载所有卷,可以选择指定只读访问(ro)或读写(rw)。 注意:仅版本2文件格式支持container:…格式。在版本1中,您可以使用容器名称而无需将其标记为: 我很困惑,这里的容器和服务有什么区别? 问题答案: 服务和容器

  • hprose 的服务器端的实现,分为 Service 和 Server 两部分。 其中 Service 部分是核心功能,包括接收请求,处理请求,服务调用,返回应答等整个服务的处理流程。 而 Server 则主要负责启动和关闭服务器,它包括设置服务地址和端口,设置服务器启动选项,启动服务器,接收来自客户端的连接然后传给 Service 进行处理。 hprose 没有为 HTTP/HTTPS 和 We

  • 请告诉我web服务器、web容器和应用程序服务器之间的区别。

  • 我的问题是两者之间有什么区别?Web服务器是在套接字示例的基础上编程的东西,具有其他特性,如请求和响应,使用不同的属性填充,还是它们是不同类型的通信协议?socket在Web服务器示例中的作用是什么?

  • 简介 Laravel 的服务容器是一个管理类依赖和执行依赖注入的强力工具。依赖注入是个花俏的名词,事实上是指:类的依赖通过构造器或在某些情况下通过「setter」方法「注入」。 不同于 Laravel Lumen 使用了与 Laravel 框架相同的服务容器,所以,你可以使用它们所有强大的功能。有关容器的完整文档,请阅读 Laravel 容器文档 。 获取服务容器 Laravel\Lumen\Ap

  • Container 服务容器是一个用于管理类的依赖和执行依赖注入的强大工具。其实质是通过反射来对构造函数或者标记为[Inject]特性的属性选择器进行注入。 简介 几乎所有的服务绑定都是在服务提供者中完成。如果一个服务没有基于任何接口那么就没有必要将其绑定到容器(除非他是组件内部使用的类)。 容器并不需要被告知如何构建对象,因为它会使用反射技术自动解析出具体的对象实例。 在服务提供者中我们可以使用