asp.net-核心 2.0 Docker 部署
asp.net-core 2.0 Docker deploy
我在 asp.net-core 2.0
开发了一个应用程序,并在 Linux 上部署了 Docker
。
所以我创建了 Docker 图像并在 Linux 服务器上 运行 像:
docker run -p 80:80 --name my-container my-image:1.0
所以从 Docker 图像 my-image:1.0
创建容器 my-container
现在的问题是,当我对我的应用程序进行一些更改并想要部署这些更改时,我必须 stop/remove my-container
并从新的 Docker 图像创建一个新图像,例如:
docker stop my-container
docker rm my-container
docker run -p 80:80 --name my-container my-image:1.1
有什么方法可以只用新图像更新容器吗?重点是将现有容器与新版本的图像一起使用。
Is there any way to just update the container with the new image?
没有。 但这不是你需要的,因为你说你的目标是以下一个:
Now the issue is when I make some changes to my app and want to deploy that changes I have to stop/remove my-container and create a new one from new Docker image
你的 Dockerfile 肯定是这样的:
FROM microsoft/aspnetcore
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "myapp.dll"]
因此,您只需要创建一个卷以将您的工作目录 /app
导出到容器外部的主机文件系统(使用 -v
参数和 docker run
)。然后在对您的应用应用更改后简单地重新启动容器。
我在 asp.net-core 2.0
开发了一个应用程序,并在 Linux 上部署了 Docker
。
所以我创建了 Docker 图像并在 Linux 服务器上 运行 像:
docker run -p 80:80 --name my-container my-image:1.0
所以从 Docker 图像 my-image:1.0
创建容器 my-container
现在的问题是,当我对我的应用程序进行一些更改并想要部署这些更改时,我必须 stop/remove my-container
并从新的 Docker 图像创建一个新图像,例如:
docker stop my-container
docker rm my-container
docker run -p 80:80 --name my-container my-image:1.1
有什么方法可以只用新图像更新容器吗?重点是将现有容器与新版本的图像一起使用。
Is there any way to just update the container with the new image?
没有。 但这不是你需要的,因为你说你的目标是以下一个:
Now the issue is when I make some changes to my app and want to deploy that changes I have to stop/remove my-container and create a new one from new Docker image
你的 Dockerfile 肯定是这样的:
FROM microsoft/aspnetcore
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "myapp.dll"]
因此,您只需要创建一个卷以将您的工作目录 /app
导出到容器外部的主机文件系统(使用 -v
参数和 docker run
)。然后在对您的应用应用更改后简单地重新启动容器。