Phoenix Framework – Docker镜像,用于开发和部署到Kubernetes

我试图找出在我的开发环境中使用Docker容器的最佳方式,但将我的应用的版本化的图像部署到Kubernetes。 以下是我到目前为止:

我使用下面的Docker镜像作为基础 – https://github.com/shufo/docker-phoenix 。 当我为我的开发环境创build容器(按照说明)时,我运行:

docker run -d -p 4000:4000 -v $(pwd):/app -w /app shufo/phoenix 

据我所知,对于Kubernetes,我的应用程序需要包含在版本化的图像。 换句话说,代码需要在生成的容器中,而不是传递到容器中的容量?

所以我有一个Dockerfile,看起来像这样:

 FROM shufo/phoenix MAINTAINER Hamish Murphy <hamishmurphy@gmail.com> COPY . /app WORKDIR /app 

在生成映像(带有版本号)后,我可以使用它在Kubernetes中创build一个部署。

所以这是一个家庭解决scheme。 这有一个共同的模式吗?

在我看来,你是在正确的轨道上。 在图像中包含代码可能被认为是最佳实践。 我最近写了一个问题的答案,描述了一些好处。

实际上,人们正在使用各种方式来为容器提供应用程序。 有可能使用附加的卷或者在容​​器中有一个Git在部署时拉取/更新代码,但是我相信你会需要一些很好的理由(我想不出来),因为这是可取的。