1吮成,拉取最新的dotnet鏡像
docker pull microsoft/dotnet
docker images ?可以查看本地下載的鏡像
2涮瞻,通過鏡像創(chuàng)建容器
docker run -it ?microsoft/dotnet? /bin/bash ??
-i ?以交互模式啟動(dòng)創(chuàng)建并啟動(dòng)容器,容器啟動(dòng)后直接進(jìn)入容器中
3加酵,在容器中創(chuàng)建web項(xiàng)目
mkdir web_test
cd web_test
dotnet new -t web
dotnet restore
?dotnet run
這時(shí)web站點(diǎn)已經(jīng)跑起來了,這個(gè)時(shí)候通過ip訪問:http://172.168.99.100:5000并不能訪問到,問題出在沒有將端口暴露給宿主機(jī)
ctrl+c退出站點(diǎn)毕源,exit退出容器
這時(shí)候docker ps -a ?可以查看到已經(jīng)停掉的容器,可以看到docker為我們隨機(jī)生成了容器名稱和ID
如果需要再次啟動(dòng)容器陕习,記得不要用docker run(這個(gè)會(huì)新建一個(gè)容器)
用docker start container_name ? (如我這里第一個(gè) docker start infallible_lovelace -i)
4霎褐,上面已經(jīng)碰到宿主機(jī)不能訪問到站點(diǎn),是因?yàn)闆]有將端口暴露給宿主機(jī)该镣,我們重新創(chuàng)建一個(gè)容器冻璃,這次我們指定一下端口號(hào)和環(huán)境變量
docker run -p 8000:80 -e "ASPNETCORE_URLS=http://+:80" -it --rm microsoft/dotnet ??
mkdir web_test
cd web_test
dotnet new -t web
dotnet restore
dotnet run
上面-e是設(shè)置環(huán)境變量,-p 設(shè)置端口映射
這時(shí)候訪問http://192.168.99.100:8000/ ?,大功告成
5损合,這時(shí)候想看下dotnet生成的web源碼
ctrl+c退出站點(diǎn)省艳,exit退出容器,docker ps -s ?列出所有容器嫁审,找到剛才的容器ID
docker cp ?container_id:/web_test ?web_test
這時(shí)候Windows 下用戶文件夾中就會(huì)多出一個(gè)web_test文件夾跋炕,拷貝成功