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程序的办法有两个弱点,一个是需要客户机安装 ...
随机推荐
- java反射查看jar包中所有的类名方法名
不反编译,不用其他工具,用java反射查看jar包中所有的类名方法名,网上很多都报错,下面这个你试试看:话不多说直接撸代码: import java.lang.reflect.Field; impor ...
- List、Set、数据结构、Collections
一.数据结构: 1.什么是数据结构: 一种数据的存储方式 2.常见的4+1种数据结构 堆栈结构: 它是只有一个开口的容器结构 特点: 先进后出(FILO) 例子:弹夹,桶装可比克 队列结构: 它是两端 ...
- Vue过渡mode属性踩坑
近期学习Vue的过渡效果的时候,mode属性的"in-out"."out-in"设置了不起作用,官网上的例子让我看了有点迷,问题解决后以此文记录之. 首先我们看 ...
- LabVIEW(五):DAQ同步
1.在许多的测试测量应用当中,我们会需要在通过一个时间段内进行同步测量. 同步采集通常分为两类: (1).同时测量:即不同的任务在同一时刻开始.举例来说,我们会在一个模拟输入通道上采集数据,同时在一个 ...
- 一条SQL语句在MySQL中如何执行的
本篇文章会分析一个 sql 语句在 MySQL 中的执行流程,包括 sql 的查询在 MySQL 内部会怎么流转,sql 语句的更新是怎么完成的. 在分析之前我会先带着你看看 MySQL 的基础架构, ...
- 如何写一个适配iPhoneX的底部导航
引言 iPhoneX发布至今已经有将近一年的时间了,各类app都多多少少做了对iPhoneX的适配,那对于我们H5页面该做哪方面的适配呢? 首先了解安全区域(safe area)的概念,它保证了内容在 ...
- Python编程Day6——元组类型、字典类型、集合
一.元组类型(tuple) 1.用途:记录多个值,当多个值没有改变的需求此时元组更为合适 2.定义:在()内用逗号分隔开多个任意类型的值(参数为for可以循环的对象) 3.常用操作: 索引(正取向+反 ...
- Python编程Day3—基本运算符、数据类型
一.基本运算符 1.算数运算 print(10/3) print(10//3) print(10%3) print(10**3) 2.比较运算 print(10==10) print(10!=10) ...
- 微信小程序入门(二)
5.安装微信开发者工具 小程序入口文档 点"小程序开发"-->>"工具-->>再点左边的"下载",进行开发者工具的下载 6.小 ...
- asp.net MVC 5 路由 Routing
ASP.NET MVC ,一个适用于WEB应用程序的经典模型 model-view-controller 模式.相对于web forms一个单一的整块,asp.net mvc是由连接在一起的各种代码层 ...