網(wǎng)站首頁 編程語言 正文
一、創(chuàng)建
1、創(chuàng)建應(yīng)用程序
使用ASP.NET Core創(chuàng)建一個(gè)MVC應(yīng)用程序,并修改Home控制器Index視圖代碼:
@{ ViewData["Title"] = "Home Page"; } <div class="text-center"> @*<h1 class="display-4">Welcome</h1> <p>Learn about <a >building Web apps with ASP.NET Core</a>.</p>*@ <h1>使用Docker部署ASP.NET Core應(yīng)用程序</h1> </div>
運(yùn)行程序,輸出結(jié)果如下圖所示:
2、添加Dockerfile文件
由于我們要使用Docker進(jìn)行部署,所以要添加Dockerfile文件,在項(xiàng)目上右鍵,選擇“添加”,然后選擇“Docker支持”,如圖所示:
我們是在Linux上進(jìn)行部署,所以目標(biāo)OS選擇Linux:
Dockerfile文件內(nèi)容如下:
# 使用運(yùn)行時(shí)鏡像 FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim # 設(shè)置工作目錄 WORKDIR /app # 把目錄下的內(nèi)容都復(fù)制到當(dāng)前目錄下 COPY . . # 暴露80端口 EXPOSE 80 # 設(shè)置容器編碼格式 ENV LANG C.UTF-8 # 設(shè)置時(shí)區(qū),解決容器內(nèi)時(shí)間和宿主機(jī)時(shí)間不一致問題 RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone # 運(yùn)行鏡像入口命令和可執(zhí)行文件名稱 ENTRYPOINT ["dotnet", "DockerDemo.dll"]
注意:添加了Dockerfile文件以后,里面會(huì)自動(dòng)添加一個(gè)文件內(nèi)容,這里沒有使用默認(rèn)的Dockerfile文件的內(nèi)容,Dockerfile文件的內(nèi)容可以自己修改。
修改Dockerfile文件的屬性,修改為始終復(fù)制:
3、發(fā)布
最后,將應(yīng)用程序進(jìn)行發(fā)布,這里選擇發(fā)布到文件夾:
發(fā)布文件夾目錄可以自定義:
二、部署
將上面步驟發(fā)布后的文件拷貝到遠(yuǎn)程的Linux服務(wù)器上,然后進(jìn)行部署。
1、構(gòu)建鏡像
執(zhí)行下面的命令,根據(jù)Dockerfile文件構(gòu)建鏡像:
docker build -t dockerdemo .
如圖所示:
注意:最后的“.”不能省略。
默認(rèn)情況下會(huì)找當(dāng)前目錄下面的Dockerfile文件,我們也可以修改Dockerfile文件的名稱,構(gòu)建鏡像的時(shí)候使用-f參數(shù)指定使用哪個(gè)Dockerfile文件即可,我們修改Dockerfile文件的名稱:
使用下面的命令構(gòu)建鏡像:
docker build -t dockerdemotest -f Dockerfile-test .
如圖所示:
2、運(yùn)行容器
使用下面的命令根據(jù)上面步驟構(gòu)建的鏡像運(yùn)行容器:
docker run --name=dockerdemo -d -p 5000:80 dockerdemo
如圖所示:
這樣就表示容器運(yùn)行成功了,可以訪問了:
這樣一個(gè)簡(jiǎn)單的部署就完成了。
原文鏈接:https://www.cnblogs.com/dotnet261010/p/14984798.html
相關(guān)推薦
- 2022-04-15 python實(shí)現(xiàn)選取或刪除指定列包含指定內(nèi)容的行_python
- 2022-09-08 pytorch?tensor內(nèi)所有元素相乘實(shí)例_python
- 2022-05-25 ASP.NET?Core中使用Redis實(shí)現(xiàn)緩存_實(shí)用技巧
- 2023-11-17 Linux centos創(chuàng)建用戶以及賦予sudo權(quán)限
- 2022-10-07 Unity游戲開發(fā)實(shí)現(xiàn)場(chǎng)景切換示例_C#教程
- 2022-09-01 Linux實(shí)現(xiàn)項(xiàng)目的自動(dòng)化部署_Linux
- 2022-07-21 python:實(shí)現(xiàn)balanced parentheses平衡括號(hào)表達(dá)式算法(附完整源碼)
- 2022-08-05 python內(nèi)置模塊之上下文管理contextlib_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支