• [Linux之旅一] .NET Core 2.2部署到Docker中


    第一步,使用VS2017或者VS2019创建.NET Core 2.2或3.1的项目,如下图:

     在创建项目的时候记得勾选Docker支持,这样会自动创建Dockerfile文件,这个文件用于构建Docker镜像;(补充:镜像运行在容器中)

    第二步,编辑Dockerfile文件,本人初学不便讲解它的用法,本人按照以下方式进行编辑:

    FROM microsoft/dotnet:2.2-aspnetcore-runtime    
    COPY  . /netcorewebtests    
    WORKDIR /netcorewebtests
    EXPOSE 80 
    ENTRYPOINT ["dotnet", "NetCoreWebTests.dll"]   

    第三步,在Linux中创建即将部署网站的目录(本人在/var目录下创建了www目录,再在www目录创建本演示项目的目录),使用以下命令

    mkdir /var/www/netcorewebtests]

    第四步,发布项目,并使用WinSCP将发布的项目文件上传到第三步创建的目录中

    第五步,拉取项目依赖的基础镜像,例如本演示项目是.net core2.2开发,则拉取.net core 2.2的镜像,如下图:

    docker pull microsoft/dotnet:2.2-aspnetcore-runtime 

    第六步,创建本演示项目的镜像,使用如下命令:

    docker build -t netcorewebtests .
    备注:netcorewebtests 是创建镜像的名称,这个命令会根据当前目录下dockerfile配置文件,进行打包。运行查看镜像 docker images

    第七步,创建本演示项目的容器(镜像运行在容器中),使用如下命令:

    备注:
    创建容器,其中前一个apiweb是容器名 后一个netcorewebtests是上一步的镜像名。
    --name:指定容器名称;
    -p:指定容器端口,是进行宿主和容器之间端口的映射,(-p 宿主端口:容器端口);
    -d:指定容器后台运行,这样容器就会一直运行,即使关掉终端窗口。
    
    请使用如下命令:
    docker run --name=apiweb -p 80:80 -d  netcorewebtests
    或者
    docker run --name=apiweb -p 宿主ip:5001:80 -d  netcorewebtests
    建议用后面一个命令!

    完成!

    附上常用基础命令:
    1.查看已退出容器:docker ps -a
    2.查看所有镜像:docker images
    3.删除某个镜像:docker rmi 镜像ID
    4.删除某个容器:docker rm 容器ID
    5.查看正在运行容器:docker ps
  • 相关阅读:
    CentOS 6.5 源码安装subversion-1.8.8,附加mod_dav_svn模块
    MySQL建表设置外键提示错误
    Servlet3.0提供的异步处理
    Servlet3.0使用@WebServlet注解配置问题记录
    我的博客开通啦!
    关于Wii的蓝牙接收
    关于Wii的软件制作
    提升学习算法简述:AdaBoost, GBDT和XGBoost
    决策树中的熵和基尼指数
    机器学习排序算法:RankNet to LambdaRank to LambdaMART
  • 原文地址:https://www.cnblogs.com/fjzhang/p/13100850.html
Copyright © 2020-2023  润新知