我想将一个简单的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
我在做什么错?
答案 0 :(得分:1)
要将Docker映像推送到远程Docker注册表,您需要执行以下步骤:
docker build .
docker tag <image_name> <repository_name_or_address>/<image_name>
的名称标记图像docker login <repository_name_or_address>
命令登录到远程注册表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中发布的说明。