听说Docker这玩意挺长时间了,新建Web应用的时候,也注意到有个启用Docker的选项。

前两天扫了一眼《【大话云原生】煮饺子与docker、kubernetes之间的关系》,觉得有点意思,决定试试Docker。

然后被坑、百度...

现将整个过程记录一下

一、新建项目

点击创建,被通知“需要安装Docker Desktop”,于是下载、安装、按要求重启电脑。

运行Docker Desktop,被通知“需要安装WSL 2”,于是又下载、安装。

二、运行项目

按 F5 运行项目,vs停在 Info: C:\Users\catzhou\vsdbg\vs2017u5 exists, deleting.不动了。

百度到《visual studio 容器工具首次加载太慢 vsdbg\vs2017u5 exists, deleting 的解决方案》这篇文章,依葫芦画瓢搞定。

再次 F5,成果如下:

吐槽一下:下载vsdbug的两个包速度实在太慢了(为此特意安装了迅雷),然后创建文件夹、4个文本文件颇不容易。俺把vs2017u5打了个包(版本是:17.0.10712.2),你直接下载解压到vsdbg即可。

三、发布到Docker Hub

  1. Docker Hub注册了一个用户

  2. Docker Desktop登录

    登陆后



    变成了

  3. 发布









    点击发布,成果如下:



四、部署到 阿里云-轻量应用服务器-Docker应用镜像

花了60元人民币,买了一个月的Docker应用镜像服务器

  1. 远程连接到服务器

  2. 切换到root账号

    sudo su root

  3. 拉取镜像

    docker pull catzhou2021/webapp1

  4. 查看镜像

    docker images

  5. 创建容器c1并后台运行

    docker run --name=c1 -p 12345:80 -d catzhou2021/webapp1

  6. 查看是否正常运行

    curl http://localhost:12345

  7. 设置防火墙-添加规则



  8. 浏览器访问

如此,大功告成。

ASP.NET Web 应用 Docker踩坑历程的更多相关文章

  1. ASP.NET Web 应用 Docker踩坑历程——续

    ASP.NET Web 应用 Docker踩坑历程发表后,也开始使用Docker了,然而发布的过程比较痛苦,经常发生下图的事情: 据说是nuget包还原时发生错误 百度了半天也找不到解决的方法,而发生 ...

  2. ubuntu 下安装docker 踩坑记录

    ubuntu 下安装docker 踩坑记录 # Setp : 移除旧版本Docker sudo apt-get remove docker docker-engine docker.io # Step ...

  3. 【踩坑经历】一次Asp.NET小网站部署踩坑和解决经历

    2013年给1个大学的小客户部署过一个小型的Asp.NET网站,非常小,用的sqlite数据库,今年人家说要换台服务器,要重新部署一下,好吧,虽然早就过了服务时间,但无奈谁叫人家是客户了,二话不说,上 ...

  4. Linux Mint安装Docker踩坑指南

    我家的服务器选用的Linux Mint系统,最近安装Docker的时候踩了一些小坑,但是总体还算顺利. 我们都知道Linux Mint系统是基于Ubuntu的,说实话用起来感觉还是很不错的,安装Doc ...

  5. docker 踩坑笔记之 psql: could not connect to server

    最近在用docker跑rails,也遇到了一些坑,这里记录一下. 首先build项目: docker-compose build 然后就开始报错了: psql: could not connect t ...

  6. (一)Asp.net web api中的坑-【找不到与请求 URI匹配的 HTTP 资源】

    在.net下,创建一个HTTP服务,有很多方案,比较老ashx,一般处理程序(HttpHandler), Web Service SOAP协议的,数据格式是XML,HTTP协议         WCF ...

  7. 使用 asp.net Web API 2的坑

    使用工具: Googl  浏览器+PostMan 插件 写了个  控制器 添加了个Action,结果呢?GET 方式请求没问题. POST一直,在服务器端获取不了参数...找了官方的文档 .各种雨里雾 ...

  8. openjtag 的硬件连接踩坑历程

    这个事情踩了不少坑,这个要记录一下: 1 代码的下载和编译按照下面的来:https://github.com/pulp-platform/pulp-debug-bridge 注意点: A 要最好使用p ...

  9. (四)Asp.net web api中的坑-【api的返回值】

    void无返回值 IHttpActionResult HttpResponseMessage 自定义类型 我这里并不想赘述这些返回类型, 可以参考博文http://blog.csdn.net/leon ...

随机推荐

  1. BUU findkey

    定位关键函数 跟入flag找到问题位置 两行一样的代码,nop掉第二行,按p生成函数 代码审计 int __userpurge sub_4018C4@<eax>(int a1@<eb ...

  2. 【flareon6】 overlong-通过动调改内存修改程序

    程序分析 无壳,32位程序 运行后结果 程序比较简单一共三个函数 根据题目和运行结果可以看出来是a3太小了,没法完全解密密钥 解决该问题可以通过写脚本或动调解决 方法一:动调改内存 定位到a3入栈的位 ...

  3. 使用git clone 报错curl56 errno 10054解决方法

    使用git clone 报错curl56 errno 10054解决方法 ----------------版权声明:本文为CSDN博主「伽马射线爆」的原创文章,遵循CC 4.0 BY-SA版权协议,转 ...

  4. docker容器登录,退出等操作命令

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口 ...

  5. python 列表推导式,生成器推导式,集合推导式,字典推导式简介

    1.列表推导式multiples = [i for i in range(30) if i % 2 is 0]names = [[],[]]multiples = [name for lst in n ...

  6. 使用过 Redis 做异步队列么,你是怎么用的?

    答:一般使用 list 结构作为队列,rpush 生产消息,lpop 消费消息.当 lpop 没有 消息的时候,要适当 sleep 一会再重试. 如果对方追问可不可以不用 sleep 呢? list ...

  7. (转载)一篇文章带你分清楚JWT,JWS与JWE

    是JWS(JSON Web Signature),也往往导致了人们对于JWT的误解,但是JWT并不等于JWS,JWS只是JWT的一种实现,除了JWS外,JWE(JSON Web Encryption) ...

  8. flash的TotalFrames显示undefined

    通过js来操作flash的时候,获取到总帧数的是属性.TotalFrames,而不是属性TotalFrames().在asp.net中,js放在最后可以在一定程度上避免当前flash没有加载完,导致获 ...

  9. Ubuntu 18.04 磁盘根目录在线扩容 & 修改分区 inode 数量

    Ubuntu 18.04 磁盘根目录在线扩容 & 修改分区 inode 数量   Ubuntu 作为服务器系统使用的时候,系统盘的空间可能并不是很充裕,apt apt 着,根目录就满了.诚然, ...

  10. C语言常用字符串函数

    string.h头文件中常用的函数 C 库函数 - strcat() char *strcat(char *dest, const char *src) 把 src 所指向的字符串追加到 dest 所 ...