一、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框架系列文章,敬请关注。到时会将代码全部开源。
原文地址:https://www.jianshu.com/p/1f8010763ac8.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com