asp.net core 项目在阿里云服务器上部署docker(ubuntu18.04)

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

一、创建asp.net web应用
创建应用

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

创建应用

创建完成之后,添加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()
                .UseUrls("http://*:8003");
    }

启动项目,查看端口是否设置成功

查看是否配置成功

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

发布
二、服务器安装docker

参考文章:
ubuntu安装docker

三、上传发布文件以及连接服务器

这里我用到的是Xshell和FlashFxp,工具没什么好说的。连接上之后,并将发布文件夹扔到服务器上。注意检查dockerfile文件是否存在。

上传至服务器
四、根据dockerfile文件生成image

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

生成镜像

完事之后使用docker images命令查看全部镜像

五、开放云服务器相应端口。

进入控制台,找到安全组中的配置规则。

添加安全组

新建规则

新建规则
六、启动项目

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

启动项目
查看是否启动成功
查看是否启动成功

你可能感兴趣的:(asp.net core 项目在阿里云服务器上部署docker(ubuntu18.04))