將Asp.Net Core3.1項目,使用Docker 部署到Centos 8

1、準備工具html

Win 10docker

Centos 8服務器

Visual Studio 2019併發

Docker Desktop  下載地址:https://download.docker.com/win/stable/Docker%20Desktop%20Installer.exemvc

2、Cenos 8安裝dockertcp

一、安裝工具

1 yum install docker          安裝docker   
2 systemctl start docker.service  啓動docker服務
3 systemctl enable docker.service  設置docker服務開機自啓動

二、檢查ui

1 docker -v

 3、建立.net core 3.1項目併發布spa

一、建立項目.net

 注意:勾選啓用Docker支持,選擇Linux。

注意:將Dockerfile文件屬性改成:始終複製。

 二、生成項目,如今本地使用docker運行,保證項目正常運行。

第一次運行的時候,會提示你運行Docker Desktop,無腦點是。繼續運行會自動下載運行項目時所須要的鏡像,靜等complete便可。

三、本地運行成功

 四、本地發佈

 發佈後的文件結構

 五、修改Dockerfile文件地址

因爲咱們是發佈到本地,vs幫咱們自動生成的Dockerfile文件裏,包含了生成—>發佈—>運行的全部流程,在這裏,咱們只須要最後一步運行的數據就好了。

  dockerfile文件指令說明:

  • FROM -指定所建立鏡像的基礎鏡像
  • WORKDIR-配置工做目錄
  • EXPOSE-聲明鏡像內服務監聽的端口 (能夠不寫,由於咱們具體映射的端口能夠在運行的時候指定)
  • COPY-複製內容到鏡像   (. .表明當前目錄)
  • ENTRYPOINT-啓動鏡像的默認人口命令

六、打包到Centos 8服務器,我這裏使用的是:SecureCRT

 七、構建docker鏡像

  進入到服務器的相關文件夾路徑,輸入:

1 docker build -t mytest-mvc .

注意:結尾的 . 不能漏掉

參數解釋:

  •  -t 指定鏡像名稱 (只能小寫)
  •  .  表示build上下文爲當前目錄,默認狀況docker會使用上下文的根目錄找到Dockerfile文件

查看構建的鏡像,輸入:

1 docker image ls

 八、建立並運行容器

1 docker run --name myfirstWeb  -d -p 5001:2345  firstdocker

    參數解釋:

  •  --name  表示容器名稱(區分大小寫),也能夠不指定,默認會生成
  •  -d          表示在後臺以守護形式運行容器
  •  -p          表示外部端口與內部容器端口映射。關於-p的還有其餘用法(http://www.javashuo.com/article/p-ozsclfta-mh.html)
  • 結尾       表示上一步建立的鏡像名稱

查看容器運行狀況,輸入:

1 docker ps -a

 最後,咱們在本地請求:

若是發現請求不了,多半是下面兩種狀況:

 一、對外映射的端口沒開啓。

1 //查詢端口號XXX 是否開啓
2 firewall-cmd --query-port=XXX/tcp  
3 //開啓端口
4 firewall-cmd --zone=public --add-port=XXX/tcp --permanent
5 //重啓防火牆
6 firewall-cmd --reload

二、建立運行容器時監聽的端口弄錯了:

1 //查看容器運行日誌
2 docker logs 容器ID


 容器相關經常使用命令:

1 //查看容器運行日誌
2 docker logs  容器名稱/容器ID    
3 //中止運行容器
4 docker stop 容器名稱/容器ID    
5 //刪除容器
6 docker rm 容器名稱/容器ID   
7 //重啓容器服務 
8 systemctl restart docker
相關文章
相關標籤/搜索