使用VS基于 .NET CORE + Docker实现微服务
前言
近期发现VS支持直接进行容器发布,感觉比较好用,就玩了下并进行分享,个人特懒,凑合着看!
准备工作
安装VS2017、Docker For Windows
Docker For Windows 安装
- 下载并安装Docker For Windows
- 启动Docker,这里部分人员可能会出现如图所示错误无法启动
不要急,可以看出提示Hardware assisted virtualization and data execution protection需要在BIOS中启用,此时我们可以任务管理器中查看CPU虚拟化是否启用,如果未启用,去BIOS设置启用即可
3.我们也可以通过docker run hello-world 进行安装测试(setting可以启用k8s可参考http://url.cn/5VeiH5J)
到这了,我们Docker安装完毕!!
.NET CORE项目配置与发布
1、启动VS,新增.NET CORE项目,并启用Docker支持,完成后我们能在项目下看到DockerFile文件。
2、这里我们写一个接口作为测试
namespace Test.Controllers
{
[Route(“api/[controller]”)]
[ApiController]
public class ValuesController : ControllerBase
{
// GET api/values
[HttpGet]
public ActionResult Get()
{
return “123”;
}
}
}
3.使用VS的发布功能,可直接发布到Docker仓库,由于会直接发布到docker服务器仓库,在这里会提示填写docker 的登录信息,正常填写即可(如果docker启动时已经进行登录,这里可以忽略不填)
4.点击发布,成功后我们可以登录docker账号,在仓库中看到已发布的镜像。
镜像发布到容器
1.docker images 查看已有镜像
2.dicker run [–name 容器名称] -p 端口 镜像名称,创建容器并装载指定镜像。
3.docker ps 可以查看已经配置好的容器
4.到这来,我们的容器配置完成,并绑定了4200端口,可以使用http://localhost:4200/api/value测试