最近在学习docker容器,开始想部署在本机,结果win10企业版好像docker版本不支持。恰巧自己有一个小的阿里云服务器,索性就直接部署在云服务器上了。
一、创建asp.net web应用

这里的docker支持选不选择都可以,实际上就相当于创建了一个dockerfile文件,我们这里不选择。

创建完成之后,添加dockerfile文件

创建的时候,会提示选择目标os是linux,还是windows,选择任意一个就可以,我们到后面还是要修改的。 代码如下:
# 父镜像
FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
# 设置工作目录,就是在容器中的app目录下工作
WORKDIR /app
# 既然选择了工作目录,那么就需要复制发布文件到/app下
COPY . /app
# 设置端口
EXPOSE 8002
# 使用dotnet myDockerTestWeb.dll来运行ASP.NET Core项目,注意大小写
ENTRYPOINT ["dotnet", "myDockerTestWeb.dll"]
修改完成之后,需要设置文件属性复制到输出目录:改为始终复制或者较新赋值都可以

修改启动端口,默认5000端口,但因为服务器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");
}
启动项目,查看端口是否设置成功

发布。右键项目,点击发布。注意环境为Release

二、服务器安装docker
参考文章:
ubuntu安装docker
三、上传发布文件以及连接服务器
这里我用到的是Xshell和FlashFxp,工具没什么好说的。连接上之后,并将发布文件夹扔到服务器上。注意检查dockerfile文件是否存在。

四、根据dockerfile文件生成image
使用
docker build -t mytestdocker .
命令,生成镜像。
注意:命令最后面有一个点,一定不要忘记。并且镜像名称一定要是小写。

完事之后使用
docker images
命令查看全部镜像
五、开放云服务器相应端口。
进入控制台,找到安全组中的配置规则。

新建规则

六、启动项目
使用
docker run -p 8003:8003 mytestdocker
启动项目

查看是否启动成功

网友评论