前言: 環境:centos7.5 64 位 正文: 首先我們在宿主機上安裝 .NET Core SDK 安裝好之後,創建一個 .NET Core MVC的項目: 這個時候可能會報錯,我一開始以為是IPV6的問題,後來發現並不是 ![avatar][NETCore1] 加一句這個就可以了 ![avat ...
前言:
環境: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目錄下包含了宿主機上的源碼項目。是以共用的形式,而不是宿主機的拷貝,在宿主機上對目錄的更改會即時反應到容器中。但反過來,容器中對共用目錄的更改不會反應到宿主機上,容器具有隔離特性。