Asp.Net Core + Docker 搭建

一、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目录。如图1

640?wx_fmt=other

图1

再执行vim sources.list编辑apt源文件,并按照以下输入后保存退出(如图:2),再依次执行:apt-get update、apt-get upgrade、apt-get install yum命令,不除意外能够正确安装yum

640?wx_fmt=other

图2 替换apt源


(3)启动docker服务

  # systemctl start docker.service

    查看docker版本信息 如图3

  # docker version

640?wx_fmt=other

图3


(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搭建。注意:需要在配置开启写入权限:vim /etc/vsftpd.conf,将write_enable=YES注释去掉,如图4

640?wx_fmt=other

图4

(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,如图5

640?wx_fmt=other

640?wx_fmt=other

640?wx_fmt=other

图5

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

640?wx_fmt=other

(9) 打包发布的应用程序的镜像(假如ftp的目录为:/homt/uftp)

# docker build -t hub3-container:1.0 .

(请注意后面还有一个点.)

640?wx_fmt=other

(10)运行docker

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

640?wx_fmt=other

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

(11)在浏览器访问:http://192.168.133.133:8088/api/values,如果返回结果说明已经成功。

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


原文地址:https://www.jianshu.com/p/1f8010763ac8.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com


posted @ 2018-12-29 07:35  天使不哭  阅读(137)  评论(0编辑  收藏  举报