最近在學(xué)習(xí)docker容器,開始想部署在本機(jī),結(jié)果win10企業(yè)版好像docker版本不支持众辨。恰巧自己有一個(gè)小的阿里云服務(wù)器,索性就直接部署在云服務(wù)器上了舷礼。
一鹃彻、創(chuàng)建asp.net web應(yīng)用
這里的docker支持選不選擇都可以,實(shí)際上就相當(dāng)于創(chuàng)建了一個(gè)dockerfile文件妻献,我們這里不選擇蛛株。
創(chuàng)建完成之后,添加dockerfile文件
創(chuàng)建的時(shí)候育拨,會(huì)提示選擇目標(biāo)os是linux谨履,還是windows,選擇任意一個(gè)就可以熬丧,我們到后面還是要修改的笋粟。 代碼如下:
# 父鏡像
FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
# 設(shè)置工作目錄,就是在容器中的app目錄下工作
WORKDIR /app
# 既然選擇了工作目錄析蝴,那么就需要復(fù)制發(fā)布文件到/app下
COPY . /app
# 設(shè)置端口
EXPOSE 8002
# 使用dotnet myDockerTestWeb.dll來(lái)運(yùn)行ASP.NET Core項(xiàng)目害捕,注意大小寫
ENTRYPOINT ["dotnet", "myDockerTestWeb.dll"]
修改完成之后,需要設(shè)置文件屬性復(fù)制到輸出目錄:改為始終復(fù)制或者較新賦值都可以
修改啟動(dòng)端口闷畸,默認(rèn)5000端口尝盼,但因?yàn)榉?wù)器5000端口被占用,所以我修改成了8003端口腾啥。
具體修改方法:
在launchSettings.json文件中applicationUrl东涡,改為:http://localhost:8003;
Program.cs類中添加Url倘待;
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseUrls("http://*:8003");
}
啟動(dòng)項(xiàng)目疮跑,查看端口是否設(shè)置成功
發(fā)布。右鍵項(xiàng)目凸舵,點(diǎn)擊發(fā)布祖娘。注意環(huán)境為Release
二、服務(wù)器安裝docker
參考文章:
ubuntu安裝docker
三啊奄、上傳發(fā)布文件以及連接服務(wù)器
這里我用到的是Xshell和FlashFxp渐苏,工具沒什么好說(shuō)的。連接上之后菇夸,并將發(fā)布文件夾扔到服務(wù)器上琼富。注意檢查dockerfile文件是否存在。
四庄新、根據(jù)dockerfile文件生成image
使用
docker build -t mytestdocker .
命令鞠眉,生成鏡像。
注意:命令最后面有一個(gè)點(diǎn)择诈,一定不要忘記械蹋。并且鏡像名稱一定要是小寫。
完事之后使用
docker images
命令查看全部鏡像
五羞芍、開放云服務(wù)器相應(yīng)端口哗戈。
進(jìn)入控制臺(tái),找到安全組中的配置規(guī)則荷科。
新建規(guī)則
六唯咬、啟動(dòng)項(xiàng)目
使用
docker run -p 8003:8003 mytestdocker
啟動(dòng)項(xiàng)目