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文章系列
可以关注本人的公众号,多年经验的原创文章共享给大家。

Docker在Linux上运行NetCore系列(五)更新应用程序的更多相关文章
- Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台
转发请注明此文章作者与路径,请尊重原著,违者必究. 系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 本篇文章操作系统信息 Linux:ubu ...
- Docker在Linux上运行NetCore系列(三)在Linux上使用Docker运行Asp.NetCore
转发请注明此文章作者与路径,请尊重原著,违者必究. 系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 开始说明 上几篇文章都是通过Linux运 ...
- Docker在Linux上运行NetCore系列(四)使用私有Nuget与多个本地包引用运行ASPNetCore
转发请注明此文章作者与路径,请尊重原著,违者必究. 本篇文章演示了使用Dockerfile在Linux(ubuntu16.04)系统上构建ASPNetCore应用,并且在一个解决方案中存在多个项目之间 ...
- Docker在Linux上运行NetCore系列(二)把本地编译好的镜像发布到线上阿里云仓库
转发请注明此文章作者与路径,请尊重原著,违者必究. 系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 开始 本篇文章结束在本地创建完成镜像后, ...
- Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用
系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 本篇文章操作系统信息 Windows:Window 10 Visual Studio:201 ...
- 开始使用 Docker (Linux 上运行 SQL Server) 上的 SQL Server 容器 - SQL Server | Microsoft Docs
原文:开始使用 Docker (Linux 上运行 SQL Server) 上的 SQL Server 容器 - SQL Server | Microsoft Docs 快速入门:使用 Docker ...
- Docker在Linux/Windows上运行NetCore文章系列
Windows系列 因为Window很简单,VS提供界面化配置,所以只写了一篇文章 Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用 Linux( ...
- .netcore 在linux 上运行 Helllo World 例子
要想在linux上运行netcore ,需要在linux 安装netcore SKD 下面分两步完成, 首先我的操作系统是 Ubuntu 14.04 ,不同版本可以参考 官网给出的连接 https:/ ...
- 不装mono,你的.NET程序照样可以在Linux上运行!
让.NET应用程序在linux上运行,目前通用的做法就是在Linux上安装mono,然后通过”mono your.exe“命令运行这个程序. 这种运行.net程序的办法有两个弱点,一个是需要客户机安装 ...
随机推荐
- MySQL的计算时间差
一.MySQL计算两个日期的时间差 TIMESTAMPDIFF(DAY, datetime1, datetime2); 第一个参数为比较类型,有day, month, year, hour等: 第二个 ...
- 你可能不知道的web api
简介 作为前端工作者,我们的工作与web是分不开的,随着HTML5的日益壮大,浏览器自带的webapi也随着增多.本篇文章主要选取了几个有趣且有用的webapi进行介绍,分别介绍其用法.用处以及浏览器 ...
- junit 方法:assertEquals 和 assertTrue
assertEquals 和 assertTrue 区别相同之处:都能判断两个值是否相等 assertTrue 如果为true,则运行success,反之Failure assertEquals 如果 ...
- 模拟poj1350
http://poj.org/problem?id=1350 题意:给你一个数,你用这个数重排序后的最大值减去最小值,当这个差值等于0或者6174时就结束,否则就用这个差值再排序再求差值.如果这个数不 ...
- Spark Programming--- Shuffle operations
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- [转载]DevOps在传统企业的落地实践及案例分享
内容来源:2017年6月10日,优维科技高级解决方案架构师黄星玲在“DevOps&SRE 超越传统运维之道”进行<DevOps在传统企业的落地实践及案例分享>演讲分享.IT 大咖说 ...
- 第一节:学会Java前提-手把手教你配置JDK环境变量
前言 大家好,今天写一遍学会Java前提-手把手教你配置JDK环境变量的概述,希望你们喜欢 下载地址 下载jdk,和eclipse就比较简单了,提供JDK 9 地址: http://www.oracl ...
- Oracle优化器基础知识之访问数据的方法
目录 一.访问数据的方法 1.直接访问数据 2.访问索引 一.访问数据的方法 Oracle访问表中数据的方法有两种,一种是直接表中访问数据,另外一种是先访问索引,如果索引数据不符合目标SQL,就回表, ...
- java中调用三方接口post传参时map和jsonobject的区别转换
post方法名及参数为:(具体方法可参考https://www.cnblogs.com/mufengforward/p/10510337.html) public static String doPo ...
- 本地Oracle客户端11g升级12c导致PowerCenter无法连接ODBC数据源
问题: 本地Oracle客户端由11g-32bit升级为12c-64bit时,在PowerCenter Designer使用原来的ODBC连接导入数据库表时,发生如下错误: 原因: 原oracle11 ...