經過多次踩坑,請教得到一下腳本,如果你有遇到docker部署之后端口不是你指定的端口。應該是docker文件少加了這樣一句話 ENV ASPNETCORE_URLS http://+:5004
1.docker文件內容如下
#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/aspnet:3.1-buster-slim AS base ENV ASPNETCORE_URLS http://+:8004 WORKDIR /app EXPOSE 8004 COPY . . ENTRYPOINT ["dotnet", "Apitest.dll"]
在centos終端輸入 touch xx.sh
全部腳本如下
#echo '>>>刪除項目目錄' #rm -rf /home/admin/my/code/gas #echo '>>>創建目錄' #mkdir /home/admin/my/code/gas echo '>>>克隆源代碼,並更新代碼' #git svn clone https:/home/admin/my/code/gas #git svn clone https://www./home/admin/my/code #cd /home/admin/my/code #git svn rebase #echo '執行dotnet編譯發布' #dotnet restore /home/admin/my/code #dotnet build /home/admin/my/code #dotnet publish /home/admin/my/code -o /home/admin/my/code/publish echo '>>>獲取舊的容器id' CID=$(docker ps |grep "dotnetapigas" |awk '{print $1}') echo $CID echo '>>>停止舊的容器' if [ "$CID" != "" ];then docker stop $CID echo '>>>刪除舊的容器' docker rm $CID fi echo '>>>獲取舊的鏡像' IID=$(docker images |grep "dotnetapi" |awk '{print $3}') echo $IID if [ "$IID" != "" ];then echo '>>>刪除舊的鏡像' docker rmi $IID fi echo '構建docker鏡像' docker build -t dotnetapi /home/admin/my/dockerAutoPublish sleep 10 echo '>>>啟動新的容器' docker run -d -p 5002:5002 --name dotnetapigas dotnetapi
linux下執行是在本目錄下執行 ./xx.sh
執行之后 輸入 docker ps查看運行中的容器
docker logs 容器名稱 可以插入容器啟動的日志,容器名稱輸入前4位就行
