.NetCore3.1自動化部署shell腳本


經過多次踩坑,請教得到一下腳本,如果你有遇到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位就行

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM