最近這段時間在折騰asp.net core 發佈到容器。中間仍是遇到點問題。將來我的還須要解決問題的有html
一、發佈到容器的程序訪問Redis服務器錯誤,可是發佈到IIS是徹底正常的docker
二、Docker 容器IP地址設置數據庫
三、訪問宿主主鍵局域網內的數據庫服務器服務器
目前3點沒有解決。。。。時間有限最近也不須要也就是我的測試使用。。因此把這個過程當中一些命令和一旦部分問題記錄app
首先使用的一些docker 命令:asp.net
獲取容器IP docker-machine ip default Docker 容器鏡像刪除 1.中止全部的container,這樣纔可以刪除其中的images: docker stop $(docker ps -a -q) 若是想要刪除全部container的話再加一個指令: docker rm $(docker ps -a -q) 2.查看當前有些什麼images docker images 3.刪除images,經過image的id來指定刪除誰 docker rmi <image id> 想要刪除untagged images,也就是那些id爲<None>的image的話能夠用 docker rmi $(docker images | grep "^<none>" | awk "{print $3}") 要刪除所有image的話 docker rmi $(docker images -q) 查看如有容器 docker ps
文件配置 Dockerfile:測試
//#Depending on the operating system of the host machines(s) that will build or run the containers, the image specified in the FROM statement may need to be changed. //#For more information, please see https://aka.ms/containercompat //FROM microsoft/dotnet:2.1-aspnetcore-runtime-nanoserver-sac2016 AS base //WORKDIR /app //EXPOSE 80 //FROM microsoft/dotnet:2.1-sdk-nanoserver-sac2016 AS build //WORKDIR /src //COPY ["NF.Web/NF.Web.csproj", "NF.Web/"] //COPY ["NF.IBLL/NF.IBLL.csproj", "NF.IBLL/"] //COPY ["NF.Common/NF.Common.csproj", "NF.Common/"] //COPY ["NF.ViewModel/NF.ViewModel.csproj", "NF.ViewModel/"] //COPY ["NF.Model/NF.Model.csproj", "NF.Model/"] //COPY ["NF.BLL/NF.BLL.csproj", "NF.BLL/"] //COPY ["NF.AutoMapper/NF.AutoMapper.csproj", "NF.AutoMapper/"] //COPY ["NF.QuartzNet/NF.QuartzNet.csproj", "NF.QuartzNet/"] //RUN dotnet restore "NF.Web/NF.Web.csproj" //COPY . . //WORKDIR "/src/NF.Web" //RUN dotnet build "NF.Web.csproj" -c Release -o /app //FROM build AS publish //RUN dotnet publish "NF.Web.csproj" -c Release -o /app //FROM base AS final //WORKDIR /app //COPY --from=publish /app . //ENTRYPOINT ["dotnet", "NF.Web.dll"] #以上是VS自動生成的。會出問題。在網上找些簡單命令測試以下正確運行 #添加基礎鏡像 FROM microsoft/dotnet:2.1-aspnetcore-runtime #容器中系統的工做空間 WORKDIR /app #拷貝當前文件夾下的文件到容器中系統的工做空間 COPY. /app # 設置Docker容器對外暴露的端口 EXPOSE 5000 # 設置映射IP。否則默認只有8080能夠 ENV ASPNETCORE_URLS http://+:5000 # 放了這個 ZKWeb.System.Drawing 驗證碼顯示正常 RUN apt-get update #容器中使用 ["dotnet","系統啓動的dll"] 來運行應用程序 #使用ENTRYPOINT ["dotnet","系統啓動的dll"] #或使用 CMD ["dotnet","系統啓動的dll"] ENTRYPOINT ["dotnet", "NF.Web.dll"]
我所參與網站以下:
http://www.cnblogs.com/stulzq/p/9201830.html
https://www.cnblogs.com/stulzq/p/9059108.html(對驗證碼顯示不正確有很大幫助)