Docker在Linux上运行NetCore系列(五)更新应用程序

原文:Docker在Linux上运行NetCore系列(五)更新应用程序

转发请注明此文章作者与路径,请尊重原著,违者必究。

本篇文章与其它系列文章不同,为了方便测试,新建了一个ASP.Net Core视图应用。

备注:下面说的应用,只是在容器中运行的应用程序。

查看现在运行的应用

容器中已经运行了一个应用testaspnetcoredockerlinuxname,版本是1.0。我们下面查看一下已经在运行中的应用。

输入命令【sudo docker ps】可以看到运行中的容器。

红色线的就是我们要升级的正在运行中的容器。版本是1.0。

输入命令【sudo docker images】看到docker中的镜像,Tag版本是1.0。

开始升级应用

testaspnetcoredockerlinuxname在上面的版本是1.0,下面我们构建1.1版本。

使用命令构建镜像【sudo docker build -t testaspnetcoredockerlinux:1.1 .】

运行一大堆命令后,构建成功了。使用命令检查镜像信息:【sudo docker images】

构建完成镜像后,我们试一下构建应用在容器中运行。

运行【sudo docker run --name testaspnetcoredockerlinuxname -p 8089:80 testaspnetcoredockerlinux:1.1】的时候,报下面的错误:

docker: Error response from daemon: Conflict. The container name "/testaspnetcoredockerlinuxname" is already in use by container "59553212df7cc9a2524fe896d21f0bac9936a03806cbeeae6595d9f97c3c9fe8". You have to remove (or rename) that container to be able to reuse that name.

意思是已经存在容器的名称,要么更改旧应用容器名称,要么把旧应用容器删除。

自行想了一下,可以使用创建新应用并运行(新应用名称后面加-temp)->停止旧应用容器->删除旧应用容器->重命名新应用为旧应用名称的方法。

上面的步骤可以,但是试的时候因为对外暴露的端口旧应用已经在用,一台机器只能对外一个端口。所以要先删除旧应用才可以安装新应用。

下面我们使用更新应用的另外一种方案,比较暴力。停止旧应用->删除旧应用->构建并运行新应用。

步骤如下                                          

先停止旧容器应用【sudo docker stop testaspnetcoredockerlinuxname】

然后删除旧容器应用【sudo docker container rm testaspnetcoredockerlinuxname】

再构建新应用到容器【sudo docker run --name testaspnetcoredockerlinuxname -p 8089:80 testaspnetcoredockerlinux:1.1】。注意这里是1.1版本。

到此新应用运行成功了。输入网址:http://192.168.3.220:8089/

我们检查一下是否更新到版本,【sudo docker ps】查看运行中的容器。

容器运行成功,并且是最新的1.1版本。

所以,总体步骤是:创建新应用->停止旧应用->删除旧应用容器->构建并运行新应用。

系列文章

Docker在Linux/Windows上运行NetCore文章系列

可以关注本人的公众号,多年经验的原创文章共享给大家。

原文地址:https://www.cnblogs.com/lonelyxmas/p/10217695.html

时间: 2025-01-10 08:08:43

Docker在Linux上运行NetCore系列(五)更新应用程序的相关文章

Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台

转发请注明此文章作者与路径,请尊重原著,违者必究. 本篇文章操作系统信息 Linux:ubuntu 16.04.3 amd64 查看NetCore支持的Linux系统 NetCore不是支持Linux的所有系统,只支持部分,所以在Linux上安装NetCore之前要查看系统与版本是否支持NetCore. 查看NetCore2.0以上各个版本在Linux支持的系统及版本: https://github.com/dotnet/core/blob/master/release-notes/2.0/2.

Docker在Linux上运行NetCore系列(四)使用私有Nuget与多个本地包引用运行ASPNetCore

转发请注明此文章作者与路径,请尊重原著,违者必究. 本篇文章演示了使用Dockerfile在Linux(ubuntu16.04)系统上构建ASPNetCore应用,并且在一个解决方案中存在多个项目之间的引用.还会使用到私有Nuget包的引用. 构建项目 为了演示更加全面,这里按照简单的领域驱动模式建立了几个项目. Web端为:TestWebDockerOnLinux.使用swagger对外提供API,并且包含了Dockerfile文件. 基础设施层:TestWebDockerOnLinux.Co

Docker在Linux上运行NetCore系列(二)把本地编译好的镜像发布到线上阿里云仓库

转发请注明此文章作者与路径,请尊重原著,违者必究. 开始 本篇文章结束在本地创建完成镜像后,发布到公共仓库.这里的仓库是阿里云的仓库. 流程是:进入阿里云Docker仓库控制台->新建镜像仓库->按照阿里云教程上传本地镜像到云仓库->到阿里云控制台查看仓库,存在则成功. 进入阿里云仓库 这里使用的是阿里云的存储,可以注册阿里云账号,并且进入仓储,获取私人的存储地址. 设置阿里云仓储,首先进入https://cr.console.aliyun.com/cn-shenzhen/reposit

Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用

本篇文章操作系统信息 Windows:Window 10 Visual Studio:2017 15.8.0 创建项目并添加Dockerfile 在VS2017及以上版本上创建一个控制台项目,这里的名称叫[ConsoleAppDockerWindows2]. 创建DockerFile文件 1)右键项目 --> 选中[添加] --> 选中[容器业务流程协调程序支持] 2)选择[Docker Compose] 3)目标OS:选择[Windows] 创建后的解析 创建完成后,可以看到项目中多了Doc

Docker在Linux/Windows上运行NetCore文章系列

原文:Docker在Linux/Windows上运行NetCore文章系列 Windows系列 因为Window很简单,VS提供界面化配置,所以只写了一篇文章 Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用 Linux(ubuntu 16.04) Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台 Docker在Linux上运行NetCore系列(二)把本地编译好的镜像发布到线上阿里云仓库 Docker

不装mono,你的.NET程序照样可以在Linux上运行!

让.NET应用程序在linux上运行,目前通用的做法就是在Linux上安装mono,然后通过”mono your.exe“命令运行这个程序. 这种运行.net程序的办法有两个弱点,一个是需要客户机安装mono,二个是 ”mono xx.exe“ 这种命令行总让人感到有点不太专业的味道. 那么,有没有办法既不安装mono,又能让你的.NET程序就像c语言编译的程序那么,”直接“在Linux上运行呢? 为了解决.net程序特别是.net控制台程序在Linux平台上部署和运行的简便性问题,我给大家准备

在Linux上运行C#

在任何一个平台(操作系统+硬件体系)上,编写和运行程序的三个最根本的需求是库.编译器/解释器.运行环境.库以类和方法(函数)的形式提供常用的例程,简化大型程序的编写..NET框架也不例外,包含了许多类库.另外,把程序转换成可执行形式以及运行执行文件时,编译器和运行环境是必不可少的.Mono软件包包含了.NET类库的一部分.一个C#编译器和.NET运行环境CLR(Common Language Runtime,公共语言运行时环境). Mono声称支持Linux.Solaris.Free BSD和M

让Qt在MIPS Linux上运行 good

下载 首先下载Qt everywhere,当前的版本是4.7.2,可以从nokia的网站上下载,也可以从git服务器上下载.考虑到文件有200M 以上的大小,下载速率低于25kBPS的,需要考虑从什么地方复制一份,否则需要等待较长时间才能下载下来.我是在家里下载这个文件的,所以开始编译已经是第二天了.考虑提升员工效率的话,需要预先预备好这些下载文件,或者增加接入带宽. 解压 第一步下载的文件是一个tar包,所以需要解压,通常解压需要在unix/Linux环境下进行,如果只是看代码,windows

【无私分享:ASP.NET CORE 项目实战(第十章)】发布项目到 Linux 上运行 Core 项目

目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 ASP.Net Core 给我们带来的最大的亮点就是跨平台,我在我电脑(win7)上用虚拟机建了个 CentOS7 ,来演示下,我们windows上的项目如何发布项目到Linux上运行.我这里有个在windows上搭建过的程序,我们主要演示如何在linux上运行,所以大家不要纠结于这些,大家可以新建一个web项目尝试一下. 安装.NET Core SDK for CentOS 微软有详细的安装命令,可以参考Install