运行命令:
docker pull microsoft/dotne
如果没有使用阿里镜像加速的,参照这篇先配置好再跑上面命令:http://www.cnblogs.com/windchen/p/6231009.html
docker run -itd -p 5000:5000 microsoft/dotnet
-p用来添加Host跟Container的端口映射
找到刚才启动容器的id:
docker ps
进入容器
docker attach [id]
创建及启动.NET Core MVC项目
mkdir MyFirstWeb
cd MyFirstWeb
dotnet new -t web
dotnet restore
dotnet run
上面dotnet restore这一步可能会卡很久遇到超时的状况,因为Nuget在国外的原因,博客园有提供加速镜像,参照设定好之后,速度会快很多
因为microsoft/dotnet镜像里面么有vi编辑器,所以改NuGet.Config文件需要在Host上改好之后再Copy进去。
先把NuGet.Config文件从容器里面cp出来
cp ~/.nuget/NuGet/NuGet.Config ./
按ctrl+p,ctrl+q退出容器,然后运行
docker cp [container id]:/MyFirstWeb/NuGet.Config ./
现在就可以在Host上编辑NuGet.Config文件了。
编辑好了之后再复制进容器
docker cp ./NuGet.Config [container id]:/MyFirstWeb/
用同样的方法修改Program.cs文件,红色字体部分:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting;
namespace WebApplication
{
public class Program
{
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseUrls("http://*:5000")
.UseStartup<Startup>()
.Build();
host.Run();
}
}
}
修改完成之后,再运行
dotnet run
然后就可以通过Host的IP地址来访问了:
http://host:5000
当你最后投入容器的怀抱,发现它能解决很多问题,而且还具有众多的优点:第一:它是不可变的 – 操作系统,库版本,配置,文件夹和应用都是一样的。
前端开发过程中,少不了自己封装一些通用的包,但又不想放在公共的平台,所以搭建一个npm私有的仓库是很有必要的。在这里简单介绍如何使用 verdoccio 在docker环境下的配置。verdoccio,轻量级私有npm代理注册表。
容器非常适合封装软件,但是有时一味地改造容器镜像以使其尽可能小时,您可能走得太远。我们需要在“简洁”的镜像和无法调试的镜像之间找到很好的平衡。看到人们调试正在运行的容器的正常方法
虚拟化和容器化是项目云化不可避免的两个问题。虚拟化由于是纯平台操作,一个运行于linux操作系统的项目几乎不需要做任何改造就可以支持虚拟化。而项目如果要支持容器化则需要做许多细致的改造工作。
Docker中部署tomcat相信大家也都知道,不知道的可以google 或者bing 一下。这里主要是为了记录在我们启动容器之后,tomcat需要直接定位到网站信息,而不是打开域名之后,还得加个blog后缀才能访问到我们的网站首页。
随着开发过程中自动 UI 测试的兴起,无头浏览器已变得非常流行。网站爬虫和基于 HTML 的内容分析也有无数的用例。在 99% 的场合下,你实际上不需要浏览器 GUI,因为它是完全自动化的
Stack Overflow开发人员调查中,开发人员将Docker评为:最受欢迎的平台,最喜欢的平台,最常用的平台。来自世界各地的近90,000名开发人员对调查做出了回应。
所以我们可以通过修改docker compose的配置文件来完成我们的需求。熟悉Docker的都应该知道容器运行时其内部会有一个端口以映射到我们外部的端口,我们需要固定的就是这个外部端口。
Docker 变得越来越流行,它可以轻便灵活地隔离环境,进行扩容,运维管理。对于业务开发者而言,随着持续集成的发展,对代码质量及快速迭代的要求也越来越高。对于前端而言,在 CI 环境中使用也更容易集成开发,测试与部署。
在容器安全方面,有很多使用开源工具阻止安全灾难的故事,例如前不久发生的特斯拉 Kubernetes 集群入侵事件。容器的安全性一直是一件很棘手的事情,因此如何巧妙使用开源工具就成为一件重要的事情。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!