码迷,mamicode.com
首页 > Web开发 > 详细

Docker + .NET Core(二)

时间:2018-12-19 16:59:54      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:进入容器   ++   sni   oms   .com   plt   fsm   \n   nav   

前言:

环境:centos7.5 64 位

正文:

首先我们在宿主机上安装 .NET Core SDK

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'
sudo yum update
sudo yum install libunwind libicu
sudo yum install dotnet-sdk-2.2

安装好之后,创建一个 .NET Core MVC的项目:

cd $HOME
mkdir demo
cd demo
#创建一个HelloDocker.Web的MVC项目
dotnet new mvc -n HelloDocker.Web
cd HelloDocker.Web
dotnet run

这个时候可能会报错,我一开始以为是IPV6的问题,后来发现并不是

技术分享图片

vi Program.cs

加一句这个就可以了

技术分享图片

直接浏览器访问 http://IP:5000

然后关掉
这时访问不了 http://IP:5000

挂载到容器中

# `\`结合`Enter`键构成换行符,可以换行输入一个长命令。
#-it以交互模式(进入容器内部)
#-p参数端口映射
#-v参数挂载宿主机的文件到容器的指定目录 $HOME/demo/HelloDocker.Web文件夹下的文件挂载到容器的\app目录下。

docker run -it -p 5000:5000 -v $HOME/demo/HelloDocker.Web:/app microsoft/dotnet:latest

这一步可能会出错

WARNING: IPv4 forwarding is disabled

启用IPV4 IP的转发:

检查当前值:

/sbin/sysctl net.ipv4.conf.all.forwarding

启用设置:

/sbin/sysctl -w net.ipv4.conf.all.forwarding=1

检查输出docker info:

docker info

再重新执行上面的长命令,不报错,已经进入容器内

cd app
dotnet run

浏览器访问 http://IP:5000

成功

容器内部中的app目录下包含了宿主机上的源码项目。是以共享的形式,而不是宿主机的拷贝,在宿主机上对目录的更改会即时反应到容器中。但反过来,容器中对共享目录的更改不会反应到宿主机上,容器具有隔离特性。

Docker + .NET Core(二)

标签:进入容器   ++   sni   oms   .com   plt   fsm   \n   nav   

原文地址:https://www.cnblogs.com/hanfan/p/10143959.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!