Docker安裝部署Net Core實(shí)現(xiàn)過程解析
一、docker 安裝及設(shè)置
#安裝 CentOS已經(jīng)將Docker軟件包放在了Extras軟件源中,直接利用即可 yum install docker-io -y #查看docker的版本 version docker -v #開啟Docker服務(wù) systemctl start docker.service #開機(jī)啟動(dòng)Docker服務(wù) systemctl enable docker.service #查看Docker服務(wù)啟動(dòng)狀態(tài) systemctl status docker.service #重啟Docker服務(wù) systemctl restart docker.service
二、新建Net Core 程序
1、新建Net Core 項(xiàng)目。注意不啟動(dòng)Docker 支持
2、發(fā)布新建的項(xiàng)目(目標(biāo)運(yùn)行時(shí):可移植)
3、在發(fā)布后的文件夾中新建一個(gè)Dockerfile 文件(沒有后綴)
大概內(nèi)容如下:
FROM microsoft/dotnet:2.1-aspnetcore-runtime //注意和你的版本要匹配 WORKDIR /app COPY . . //將當(dāng)前目錄下的所有文件(除了.dockerignore排除的路徑),都拷貝進(jìn)入 image 文件的/app目錄。 EXPOSE 5000 //端口號(hào)(將容器 5000 端口暴露出來, 允許外部連接這個(gè)端口。) //EXPOSE 443 //Https 端口開啟 ENTRYPOINT ["dotnet", "DockerDemo5.dll"] //運(yùn)行的程序集 改成你自己的
三、上傳發(fā)布后的項(xiàng)目到Linux服務(wù)器(CentOS)
1、進(jìn)入程序的發(fā)布目錄
#進(jìn)入到程序的發(fā)布目標(biāo) cd /data/web/mydocker #創(chuàng)建 image文件 (-t參數(shù)用來指定 image 文件的名字,后面還可以用冒號(hào)指定標(biāo)簽 PS:注意最后的 點(diǎn)) docker build -t aspnetcoredocker1.1 . #生成容器,每運(yùn)行一次,就會(huì)新建一個(gè)容器(這里的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 容器自動(dòng)啟動(dòng)(在容器退出或斷電開機(jī)后,docker可以通過在容器創(chuàng)建時(shí)的 --restart參數(shù)來指定重啟策略)
# 設(shè)置啟動(dòng)策略 docker run --restart always -it -p 5000:5000 aspnetcoredocker1.1 #如果容器已經(jīng)被創(chuàng)建,我們想要修改容器的重啟策略 docker update --restart always 3ec28be7254a //容器ID # --restart 多個(gè)參數(shù)值選擇 no 不自動(dòng)重啟容器. (默認(rèn)值) on-failure 容器發(fā)生error而退出(容器退出狀態(tài)不為0)重啟容器,可以指定重啟的最大次數(shù),如:on-failure:10 unless-stopped 在容器已經(jīng)stop掉或Docker stoped/restarted的時(shí)候才重啟容器,手動(dòng)stop的不算always 在容器已經(jīng)stop掉或Docker stoped/restarted的時(shí)候才重啟容器
4、docker 相關(guān)命令
鏡像文件和容器命令
#查看所有鏡像 docker images #刪除一個(gè)imageid的鏡像 docker rmi [IMAE_ID] #刪除所有鏡像 sudo docker rmi $(docker images -q) #查看所有容器運(yùn)行狀態(tài) docker ps -a docker container ls -all #刪除一個(gè)containerid的容器(實(shí)例) docker rm 6f0c67de4b72 #刪除所有容器 docker rm $(sudo docker ps -a -q)
容器日志
#查看指定時(shí)間后的日志,只顯示最后100行: docker logs -f -t --since="2019-06-08" --tail=100 CONTAINER_ID #查看某時(shí)間之后的日志: docker logs -t --since="2019-06-08" CONTAINER_ID #查看某時(shí)間段日志: docker logs -t --since="2019-06-08" --until "2019-06-09" CONTAINER_ID #查看最近30分鐘的日志: docker logs --since 30m CONTAINER_ID
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
如何查看docker run啟動(dòng)參數(shù)命令(推薦)
這篇文章主要介紹了如何查看docker run啟動(dòng)參數(shù)命令,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07使用Docker容器部署MongoDB并支持遠(yuǎn)程訪問及遇到的坑
MongoDB是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的,今天通過本文給大家介紹使用Docker容器部署MongoDB并支持遠(yuǎn)程訪問及遇到的坑,感興趣的朋友一起看看吧2022-07-07Docker部署Memos服務(wù)的實(shí)現(xiàn)
本文將介紹如何使用Docker部署Memos服務(wù),首先,我們將構(gòu)建Memos服務(wù)的Docker鏡像,然后將在Docker容器中運(yùn)行Memos服務(wù),感興趣的可以了解一下2023-12-12docker使用storage出現(xiàn)Exit導(dǎo)致文件無法上傳服務(wù)器的問題及解決方案
這篇文章主要介紹了docker使用storage出現(xiàn)Exit導(dǎo)致文件無法上傳服務(wù)器解決方案,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06基于Docker+Jenkins實(shí)現(xiàn)自動(dòng)化部署的方法
這篇文章主要介紹了基于Docker+Jenkins實(shí)現(xiàn)自動(dòng)化部署,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07