查看原文
其他

ASP.NET Core + Docker 搭建

DotNet 2019-07-31

(给DotNet加星标,提升.Net技能


转自:_科长_

jianshu.com/p/1f8010763ac8


一、Docker安装


1、机器准备

         

本次实验,我是在Win10上,使用Vmware Workstation虚拟机安装的Ubuntu 18.04.l LTS版本进行搭建。


2、安装Docker   


# yum install docker


注意:如果提示未安装yum 使用命令:apt-get install yum,如果在安装yum时遇到E:Unable to locate package yum错误时,尝试以下解决方法:   


  1. 首先执行命令:apt-get update后,再尝试命令:apt-get install yum,如果能正确安装yum,后面的步骤忽略  


  2. 执行命令:apt-get upgrade后,再尝试命令:apt-get install yum,如果能正确安装yum,后面的步骤忽略  


  3. 将apt的源替换成阿里的。


具体操作:进入/etc/apt目录。如图



再执行vim sources.list编辑apt源文件,并按照以下输入后保存退出(如图:2),


再依次执行:apt-get update、apt-get upgrade、apt-get install yum命令,


不出意外能够正确安装yum



替换apt源


3、启动docker服务


# systemctl start docker.service


查看docker版本信息 如图3  


# docker version



4、配置docker加速器(云服务器可以不配置)   


# vim /etc/docker/daemon.json


{
 "registry-mirrors":
  ["http://hub-mirror.c.163.com",
  "https://d8b3zdiw.mirror.aliyuncs.com"]
}


5、搭建ftp服务器vsftp,方便进行VS直接发布程序到服务器上     


该步骤非必需,也可以使用其他工具将测试程序拷贝到Linux服务器。


ftp服务器搭建具体操作参看:ubuntu ftp搭建(https://blog.csdn.net/u011900254/article/details/78082659)。


注意:需要在配置开启写入权限:vim /etc/vsftpd.conf,将write_enable=YES注释去掉。



6、ASP.NET Core On Docker 镜像配置       


1)、拉取aspnetcore镜像(2.0版本,如果要拉取最新版本将aspnetcore:2.0换成aspnetcore:latest), 


# docker pull microsoft/aspnetcore:2.0    

 

2)、查看镜像,确认是否拉取成功


# docker images


7、使用VS建立一个ASP.NET Core WebApi 项目并勾选支持Docker项,编写Dockerfile.





8、发布程序到服务器(这里使用Ftp发布到服务器上配置的目录中)



9、打包发布的应用程序的镜像


(假如ftp的目录为:/homt/uftp)


# docker build -t hub3-container:1.0 .(请注意后面还有一个点.)



10、运行docker  


# docker run --name hub3 -d -p 8088:88 hub3-container:1.0



注意:-p 8088:88 其中8088端口为Docker的外部端口,定义在Dockerfile中的"EXPOSE"标签,88为我们的应用程序Hub3启动的端口


11、在浏览器访问:http://192.168.133.133:8088/api/values


如果返回结果说明已经成功。       


接下来将继续发布不超过3000行代码的基于ASP.NET Core打造一个轻量级的内部服务治理的RPC框架系列文章,敬请关注。到时会将代码全部开源。


推荐阅读

(点击标题可跳转阅读)

ASP.NET Core 2.1使用Docker运行

ASP.NET Core & Docker实战经验分享

Docker容器中开始.NET Core之路


看完本文有收获?请转发分享给更多人

关注「DotNet」加星标,提升.Net技能 

喜欢就点一下「好看」呗~

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存