Docker + Kubernetes 构建
Docker + Kubernetes build
我正在尝试使用 Docker + Kubernetes 来管理我的应用程序。
我已经为 Kubernetes 集群安装了 kubectl、kubeadm、kubelet(从 google 文档中获取了步骤)。
现在集群有 2 个节点(1 个主节点,1 个子节点)
我有一个自定义 Docker 文件,如何将它用作 Kubernetes pods?
如果这不可能,
如何将 docker 构建从主节点传输到 Kubernetes 子节点。
Dockerfiles 创建供 pods 使用的图像,Kubernetes 仅使用您创建的 docker 图像,它不会为您构建 docker 图像。我想你想做的是:
- 使用
docker build
从您的 docker 文件创建图像
- 使用
docker push
将该图像发送到 dockerhub
- 创建一个使用您的镜像的 kubernetes 部署 https://kubernetes.io/docs/user-guide/deployments/
这应该会让您朝着正确的方向前进,但您将需要阅读更多内容:)
您可以在集群外部或内部使用私有 Docker 注册表,或者使用本地 (pre-pulled) 映像。
集群外你可能想看看这些:
在集群内部,您可能需要查看 Private Docker Registry in Kubernetes
如果您对使用注册表不感兴趣,您还可以在每个 Kubernetes 节点上构建映像,这样 Docker 就不必拉取它。为了避免 Kubernetes 尝试拉取,您必须将容器的 imagePullPolicy
设置为 Never
。 official documentation.
中对此进行了描述
我正在尝试使用 Docker + Kubernetes 来管理我的应用程序。
我已经为 Kubernetes 集群安装了 kubectl、kubeadm、kubelet(从 google 文档中获取了步骤)。
现在集群有 2 个节点(1 个主节点,1 个子节点)
我有一个自定义 Docker 文件,如何将它用作 Kubernetes pods?
如果这不可能, 如何将 docker 构建从主节点传输到 Kubernetes 子节点。
Dockerfiles 创建供 pods 使用的图像,Kubernetes 仅使用您创建的 docker 图像,它不会为您构建 docker 图像。我想你想做的是:
- 使用
docker build
从您的 docker 文件创建图像
- 使用
docker push
将该图像发送到 dockerhub
- 创建一个使用您的镜像的 kubernetes 部署 https://kubernetes.io/docs/user-guide/deployments/
这应该会让您朝着正确的方向前进,但您将需要阅读更多内容:)
您可以在集群外部或内部使用私有 Docker 注册表,或者使用本地 (pre-pulled) 映像。
集群外你可能想看看这些:
在集群内部,您可能需要查看 Private Docker Registry in Kubernetes
如果您对使用注册表不感兴趣,您还可以在每个 Kubernetes 节点上构建映像,这样 Docker 就不必拉取它。为了避免 Kubernetes 尝试拉取,您必须将容器的
imagePullPolicy
设置为Never
。 official documentation. 中对此进行了描述