Docker 運行 .Net Core

docker 常用命令

docker images // 查看當前已有的docker鏡像文件
docker ps -a //查看當前已經運行鏡像
docker logs  容器名稱  //查看日誌信息
docker build -t mytest . //編譯.net core 項目 mytest 爲 docker 鏡像
docker run --name mytest  -d -p 6666:6666  mytest //運行一個名字爲mytest的後臺鏡像,
端口映射爲外網6666,內網6666,鏡像由mytest 生成。

 

首先,項目,右鍵,選擇添加docker 支持(這一部分操作必須)

然後選擇 linux 主要是爲了發佈到  centos 上

然後,確定,會變成這樣

其實就是多了一個 Dockerfile 文件。

默認裏面內容是:

#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM mcr.microsoft.com/dotnet/core/runtime:3.1-buster-slim AS base
WORKDIR /app

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["ConsoleApp1/ConsoleApp1.csproj", "ConsoleApp1/"]
RUN dotnet restore "ConsoleApp1/ConsoleApp1.csproj"
COPY . .
WORKDIR "/src/ConsoleApp1"
RUN dotnet build "ConsoleApp1.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "ConsoleApp1.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "ConsoleApp1.dll"]

實際上,只需要 是以下的內容就可以了。 

FROM mcr.microsoft.com/dotnet/core/runtime:3.1-buster-slim AS base
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "ConsoleApp1.dll"]

然後,複製到 linux上,然後,運行以下命令

docker build -t mytest .

其中  mytest爲名字,默認只能小寫

而 . 表示 在當前目錄下找 Dockerfile 文件。

執行後如下圖所示:

docker image 命令查看是否已經安裝

然後,使用此鏡像。

docker run --name mytest  -d -p 6666:6666  mytest

    參數解釋:

     --name 表示容器名稱(區分大小寫),也可以不指定,默認會生成

     -d         表示在後臺以守護形式運行容器

     -p         表示外部端口與內部容器端口映射。

    mytest 是我們剛纔創建的鏡像名稱

執行後,結果如下:

然後執行 命令查看,是否運行成功

可見我們的鏡像已經在執行了。

然後,查看它的日誌,看看它輸出了什麼

docker logs mytest

查看,結果如下:

跟我程序的輸出是一致的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章