当前位置: 首页 > 面试题库 >

Docker Compose中服务和容器之间的区别

贡和裕
2023-03-14
问题内容

我正在通过volumes_fromdocker compose中的选项。显然,您可以从容器或服务导入卷。从docker compose文档中是:

volume_from

从另一个服务或容器挂载所有卷,可以选择指定只读访问(ro)或读写(rw)。

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

注意:仅版本2文件格式支持container:…格式。在版本1中,您可以使用容器名称而无需将其标记为:

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

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


问题答案:

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

一项服务可以由一个或多个容器运行。随着docker你可以处理的容器,并docker-compose可以处理服务。

例如:

假设我们有这个docker-compose.yml文件:

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

db:
  image: postgres:latest

此撰写文件定义了两个服务,webdb

在运行时docker-compose up,假设项目目录已test1组成,将启动2个名为myapp_db_1和的容器myapp_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个容器。

但是您可以扩展名为web5个容器的服务。

$ 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


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

  • 问题内容: 我有问题,同时了解和SQL Server中的运营商。 考虑以下示例查询,它们在各自的输出中具有不同的行为: 第一个查询将提供所需的输出,即选择那些具有值的记录。但是第二个查询将导致匹配记录为零。 请根据优缺点说明这些运算符的不同用法。 编辑 在这里,大多数答案都声称不适用于,但是以下语句将与和一起使用。 这将提供与具有操作符的语句相同的结果。 问题答案: 没有什么等于。 甚至不等于。

  • 我正在使用AWS的云形成,我最近花了相当多的时间试图弄清楚为什么我创建并附加策略的角色没有使我的ECS任务能够将消息发送到简单队列服务(SQS)队列。 我意识到我将SQS权限策略错误地附加到执行角色,而我本应将该策略附加到任务角色。我找不到好的文档来解释这两个角色之间的差异。其中两个的CloudFormation文档位于此处:ExecutionRole和TaskRole

  • Azure容器服务和Web App for Containers有什么区别? 它们似乎都提供了一个完全托管的平台,我们可以在这个平台上部署容器。我觉得容器的Web应用程序必须提供更多的东西,但我没有看到。我已经阅读了Azure Container Service FAQ和Web App for Containers intro page,但对我来说区别并不明显。

  • 本文向大家介绍工作站和服务器之间的区别。,包括了工作站和服务器之间的区别。的使用技巧和注意事项,需要的朋友参考一下 工作站是一台用于访问LAN或Internet以访问文档或进行专门工作的计算机,而服务器是一种响应客户端请求的服务的软件。 以下是Workstation和Server之间的重要区别。 序号 键 工作站 服务器 1 目的 用于执行所需任务并访问Internet或LAN的计算机。 服务器是

  • 本文向大家介绍Web服务器和应用程序服务器之间的区别,包括了Web服务器和应用程序服务器之间的区别的使用技巧和注意事项,需要的朋友参考一下 服务器是一个中心位置,通过网络应用程序可以存储和访问信息和程序。Web Server是一种服务器,它接受数据请求并返回相关文档,而Application Server包含一个ejb容器组件以及运行企业应用程序。 以下是Web服务器和应用程序服务器之间的重要区别