Asp.Net Core + Docker 搭建

作者: _科长_ | 来源:发表于2018-11-19 20:39 被阅读7次

    一、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

    图1

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

    图2 替换apt源

    (3)启动docker服务

      # systemctl start docker.service

       查看docker版本信息 如图3

      # docker version

    图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

    图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

    图5

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

    (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 + Docker 搭建

        本文链接:https://www.haomeiwen.com/subject/nwnafqtx.html