2017-07-15 104 views
2

我正在学习Kubernetes。我试图将等价的概念从Kubernetes映射到Docker。例如:我有以下docker-compose.ymlKubernetes:部署服务Pods到Docker概念之间的映射

db: 
    container_name: db 
    image: postgres:latest 
    ports: 
    - "5432:5432" 
    environment: 
    POSTGRES_PASSWORD: 1234 

app: 
    container_name: app 
    build: . 
    dockerfile: Dockerfile 
    ports: 
    - "3000:3000" 
    volumes: 
    - ".:/webapp" 
    env_file: 
    - ./.env.docker_compose 
    links: 
    - db 

docker-compose.yml有两个组成部分:数据库和应用程序。有两种理解方式。我不知道哪一个是真的,哪个是错的。

  • 首先了解:每个组件都在每个吊舱内。这意味着分贝在一个吊舱,并在一个吊舱应用程序。
  • 第二次理解:db和app都在一个Pod中。

请告诉我哪一个是真的。同样的问题DeploymentService。我怎样才能映射到码头的概念。

感谢

+0

你可以尝试http://kompose.io/ – lang2

回答

1

分离舱为一组的一个或多个集装箱的,你的搬运工,撰写默认会模拟天生一个吊舱。 (所以你的第二个解释)

但与docker swarm mode,你可以确保这两个容器是在他们自己的“pod”(作为一个容器的组)与constraints
随着dockerfile v3,则有例如placement(也可见于docker service create

version: '3' 
services: 
    db: 
    image: postgres 
    deploy: 
     placement: 
     constraints: 
      - node.role == manager 
      - engine.labels.operatingsystem == ubuntu 14.04