在osx上将docker映像部署到Kubernetes

时间:2018-07-09 15:46:09

标签: docker kubernetes docker-compose

我想将一个简单的docker容器部署到我的Kubernetes集群中。我使用的是Mac的Docker(边缘模式,因为它支持Kubernetes),而且我不知道如何将映像推送到Google Cloud Container Registry。

在文档之后,我运行:

docker stack deploy --compose-file ./docker-compose.yml my-app

我得到这个回报:

  

忽略不支持的选项:构建

     

此节点不是群集管理器。使用“ docker swarm init”或“ docker   swarm join”将这个节点连接到swarm,然后重试

这是我的docker-compose.yml

version: '3'
services:
  web:
    build: ./
    environment:
      FLASK_APP: myApp
      FLASK_ENV: development
    command: flask run --host=0.0.0.0
    ports:
      - "9090:5000"
    volumes:
      - ./app:/app
volumes:
  data:
    driver: local

我在做什么错?

1 个答案:

答案 0 :(得分:1)

要将Docker映像推送到远程Docker注册表,您需要执行以下步骤:

  1. 构建您的Docker映像,例如docker build .
  2. 用远程注册表docker tag <image_name> <repository_name_or_address>/<image_name>的名称标记图像
  3. 使用docker login <repository_name_or_address>命令登录到远程注册表
  4. 使用docker push <repository_name_or_address>/<image_name>命令推送图像

对于各种类型的存储库,授权步骤可能会有所不同。对于Google Cloud Container注册,您需要浏览this link。有关更多信息,您还可以访问Docker官方网站上的link

将映像推送到远程Docker注册表后,可以在Kubernetes中使用它。最简单的命令是kubectl run <name_of_your_deployment> --image=<repository_name_or_address>/<image_name>

可能需要配置Kubernetes才能从私有存储库中提取图像。在这种情况下,请使用here中发布的说明。