1. 程式人生 > >Docker 部署NetCore 接口(三)

Docker 部署NetCore 接口(三)

rem asp core 工作 code ram rom ros service

前面兩篇文章介紹了Docker一些基本概念和環境搭建,下面我們來學習一下如何將開發好的Net Core 接口項目在Docker中跑起來。

本文不關註安全方面的信息,所以,在操作之前,先關閉防火墻

systemctl stop firewalld.service 

總體的流程是比較簡單的可以分為3步:

  • 拉取基礎鏡像 microsoft/dotnet
對於基礎鏡像,大家可以理解為鏡像模板,我們自己創建自定義鏡像,都是從基礎鏡像中修改而來的。

docker pull microsoft/dotnet:latest

  • 構建自定義鏡像

1、 發布接口項目,將項目代碼上傳到指定路徑比如:root/docker/

2、創建Dockerfile文件,將Dockerfile上傳到代碼目錄

FROM microsoft/dotnet:latest                #自定義的鏡像來源於基礎鏡像 microsoft/dotnet:latest

WORKDIR /app                         #容器中的工作目錄

COPY   . /app/                       # Copy the app file to root  從當前宿主目錄“.” copy 到 容器鏡像目錄 “/app/”
EXPOSE 5000/tcp                      # Configure the listening port to 5000
ENTRYPOINT  ["dotnet", "/app/DockerTest.dll"]    # Start the app

3、編譯自己的鏡像 名字為 “netcoretest”

docker build -t netcoretest ./

  • 運行鏡像,並將外網端口映射到容器端口(外網:內網)
docker run -it -p 5000:5000 netcoretest

這裏需要註意一下,在Program.cs中,一定要指定是監聽任何地址,否則請求地址會被拒絕

 1  public class Program
 2     {
 3         public static
void Main(string[] args) 4 { 5 BuildWebHost(args).Run(); 6 } 7 8 public static IWebHost BuildWebHost(string[] args) => 9 WebHost.CreateDefaultBuilder(args) 10 .UseStartup<Startup>() 11 .UseUrls("http://*:5000") 12 .Build(); 13 }

https://help.aliyun.com/document_detail/51853.html

http://blog.csdn.net/remote_roamer/article/details/51916893

http://www.runoob.com/docker/docker-image-usage.html

http://www.docker.org.cn/book/docker/prepare-docker-5.html

http://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html

http://www.cnblogs.com/baiyunchen/p/5812110.html

Docker 部署NetCore 接口(三)