2017-09-04 167 views
3

我有一个应用程序开发asp.net-core 2.0和部署在Linux与Dockerasp.net-core 2.0 Docker deploy

因此,我创建泊坞窗图像和Linux服务器上运行,如:

docker run -p 80:80 --name my-container my-image:1.0 

所以从泊坞窗图像my-image:1.0创建容器my-container

现在的问题是,当我做出一些改变我的应用程序,并希望部署一个改变我不得不停止/删除my-container,并创建新的码头工人形象就像一个新问题:

docker stop my-container 
docker rm my-container 
docker run -p 80:80 --name my-container my-image:1.1 

有没有办法用新图像更新容器?要点是使用现有容器和新版本的图像。

+0

考虑到Docker镜像和容器的不可变性质,答案将是否定的。 –

回答

1

有没有什么办法用新图像更新容器?

但是,这是不是你需要什么,既然你说你的目标是下列之一:

现在的问题是,当我做出一些改变我的应用程序,并希望部署改变我不得不停止/删除我的容器,并创建新的码头工人像一个新的

你Dockerfile肯定看起来像这样:

FROM microsoft/aspnetcore 
WORKDIR /app 
COPY . . 
ENTRYPOINT ["dotnet", "myapp.dll"] 

因此,您只需创建一个卷,将工作日/app导出到容器外的主机文件系统中(使用-v参数与docker run)。然后在将更改应用于您的应用程序后,重新启动容器。