Docker安裝部署Net Core實現(xiàn)過程解析
一、docker 安裝及設(shè)置
#安裝 CentOS已經(jīng)將Docker軟件包放在了Extras軟件源中,直接利用即可yum install docker-io -y#查看docker的版本 versiondocker -v#開啟Docker服務(wù)systemctl start docker.service#開機(jī)啟動Docker服務(wù)systemctl enable docker.service#查看Docker服務(wù)啟動狀態(tài)systemctl status docker.service#重啟Docker服務(wù)systemctl restart docker.service
二、新建Net Core 程序
1、新建Net Core 項目。注意不啟動Docker 支持

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

3、在發(fā)布后的文件夾中新建一個Dockerfile 文件(沒有后綴)
大概內(nèi)容如下:
FROM microsoft/dotnet:2.1-aspnetcore-runtime //注意和你的版本要匹配WORKDIR /appCOPY . . //將當(dāng)前目錄下的所有文件(除了.dockerignore排除的路徑),都拷貝進(jìn)入 image 文件的/app目錄。EXPOSE 5000 //端口號(將容器 5000 端口暴露出來, 允許外部連接這個端口。)//EXPOSE 443 //Https 端口開啟ENTRYPOINT ['dotnet', 'DockerDemo5.dll'] //運行的程序集 改成你自己的

三、上傳發(fā)布后的項目到Linux服務(wù)器(CentOS)
1、進(jìn)入程序的發(fā)布目錄
#進(jìn)入到程序的發(fā)布目標(biāo)cd /data/web/mydocker#創(chuàng)建 image文件 (-t參數(shù)用來指定 image 文件的名字,后面還可以用冒號指定標(biāo)簽 PS:注意最后的 點)docker build -t aspnetcoredocker1.1 . #生成容器,每運行一次,就會新建一個容器(這里的5000:5000 代表把容器內(nèi)的5000端口映射到你主機(jī)的5000端口,容器端口在后)docker run -it -p 5000:5000 aspnetcoredocker1.1#docker run -it -p 5000:5000 aspnetcoredocker1.1:TAG // 默認(rèn)TAG是latest

2、直接訪問就可以了

3、docker 容器自動啟動(在容器退出或斷電開機(jī)后,docker可以通過在容器創(chuàng)建時的 --restart參數(shù)來指定重啟策略)
# 設(shè)置啟動策略docker run --restart always -it -p 5000:5000 aspnetcoredocker1.1#如果容器已經(jīng)被創(chuàng)建,我們想要修改容器的重啟策略docker update --restart always 3ec28be7254a //容器ID# --restart 多個參數(shù)值選擇no 不自動重啟容器. (默認(rèn)值)on-failure 容器發(fā)生error而退出(容器退出狀態(tài)不為0)重啟容器,可以指定重啟的最大次數(shù),如:on-failure:10unless-stopped 在容器已經(jīng)stop掉或Docker stoped/restarted的時候才重啟容器,手動stop的不算always 在容器已經(jīng)stop掉或Docker stoped/restarted的時候才重啟容器
4、docker 相關(guān)命令
鏡像文件和容器命令
#查看所有鏡像docker images#刪除一個imageid的鏡像docker rmi [IMAE_ID] #刪除所有鏡像sudo docker rmi $(docker images -q) #查看所有容器運行狀態(tài)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
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. JavaScript實現(xiàn)留言板實戰(zhàn)案例2. vscode運行php報錯php?not?found解決辦法3. 使用Blazor框架實現(xiàn)在前端瀏覽器中導(dǎo)入和導(dǎo)出Excel4. Python基于requests庫爬取網(wǎng)站信息5. ASP基礎(chǔ)知識Command對象講解6. 資深程序員:給Python軟件開發(fā)測試的25個忠告!7. 如何從Python的cmd中獲得.py文件參數(shù)8. 如何在python中執(zhí)行另一個py文件9. Python-openpyxl表格讀取寫入的案例詳解10. python中文本字符處理的簡單方法記錄

網(wǎng)公網(wǎng)安備