Docker 部署 Net Core


一、docker 安裝及設置

 1 #安裝 CentOS已經將Docker軟件包放在了Extras軟件源中,直接利用即可
 2 yum install docker-io -y  
 3 
 4 #查看docker的版本 version 
 5 docker -v 
 6 
 7 #開啟Docker服務
 8 systemctl start docker.service 
 9 
10 #開機啟動Docker服務
11 systemctl enable docker.service 
12 
13 #查看Docker服務啟動狀態
14 systemctl status docker.service
15 
16 #重啟Docker服務
17 systemctl restart docker.service

 

二、新建Net Core 程序

1、新建Net Core 項目。注意不啟動Docker 支持

 

2、發布新建的項目(目標運行時:可移植)

 

3、在發布后的文件夾中新建一個Dockerfile 文件(沒有后綴)

大概內容如下:

FROM microsoft/dotnet:2.1-aspnetcore-runtime   //注意和你的版本要匹配
WORKDIR /app
COPY . .  //將當前目錄下的所有文件(除了.dockerignore排除的路徑),都拷貝進入 image 文件的/app目錄。
EXPOSE 5000  //端口號(將容器 5000 端口暴露出來, 允許外部連接這個端口。)
//EXPOSE 443  //Https 端口開啟
ENTRYPOINT ["dotnet", "DockerDemo5.dll"]  //運行的程序集 改成你自己的

 

三、上傳發布后的項目到Linux服務器(CentOS)

1、進入程序的發布目錄

#進入到程序的發布目標
cd /data/web/mydocker

#創建 image文件 (-t參數用來指定 image 文件的名字,后面還可以用冒號指定標簽 PS:注意最后的 點)
docker build -t aspnetcoredocker1.1 .  

#生成容器,每運行一次,就會新建一個容器(這里的5000:5000 代表把容器內的5000端口映射到你主機的5000端口,容器端口在后)
docker run -it -p 5000:5000 aspnetcoredocker1.1
#docker run -it -p 5000:5000 aspnetcoredocker1.1:TAG   // 默認TAG是latest

 

2、直接訪問就可以了

 

 

3、docker 容器自動啟動(在容器退出或斷電開機后,docker可以通過在容器創建時的 --restart參數來指定重啟策略)

# 設置啟動策略
docker run --restart always -it -p 5000:5000 aspnetcoredocker1.1

#如果容器已經被創建,我們想要修改容器的重啟策略
docker update --restart always 3ec28be7254a //容器ID


# --restart 多個參數值選擇
no  不自動重啟容器. (默認值)
on-failure  容器發生error而退出(容器退出狀態不為0)重啟容器,可以指定重啟的最大次數,如:on-failure:10
unless-stopped  在容器已經stop掉或Docker stoped/restarted的時候才重啟容器,手動stop的不算
always 在容器已經stop掉或Docker stoped/restarted的時候才重啟容器

4、docker 相關命令

鏡像文件和容器命令

#查看所有鏡像
docker images

#刪除一個imageid的鏡像
docker rmi [IMAE_ID] 

#刪除所有鏡像
sudo docker rmi $(docker images -q) 


#查看所有容器運行狀態
docker ps -a    
docker container ls -all

#刪除一個containerid的容器(實例)
docker rm 6f0c67de4b72 

#刪除所有容器
docker rm $(sudo docker ps -a -q) 

 

容器日志

#查看指定時間后的日志,只顯示最后100行:
docker logs -f -t --since="2019-06-08" --tail=100 CONTAINER_ID

#查看某時間之后的日志:
docker logs -t --since="2019-06-08" CONTAINER_ID

#查看某時間段日志:
docker logs -t --since="2019-06-08" --until "2019-06-09" CONTAINER_ID

#查看最近30分鍾的日志:
docker logs --since 30m CONTAINER_ID

 


免責聲明!

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



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