• 在 Docker 中手工部署 ASP.NET Core 应用


    另一篇:在 Visual Studio 中部署 ASP.NET Core 应用

     操作步骤

    1. 安装 Docker For Windows(安装之前 Windows 需要开启 Hyper-V 虚拟机功能

    https://store.docker.com/editions/community/docker-ce-desktop-windows

    2. 新建 ASP.NET Core Web 应用程序,编译成功

    3. 将项目发布到目标位置。

    4. 在发布目录下创建 Dockerfile 文件

    FROM microsoft/dotnet:latest
    COPY . /app
    WORKDIR /app
    EXPOSE 8000/tcp
    ENV ASPNETCORE_URLS http://*:8000
    ENTRYPOINT ["dotnet", "Demo_Core_Web_1029.dll"]

    这里我们简单说说以上几条 Dockerfile 中的指令的作用:

    FROM microsoft/dotnet:latest
    第一个指令必须为 FROM。
    此指令用于初始化新的镜像生成阶段,并为剩余指令设置基础映像。
    本示例的基础映像是微软发布的 microsoft/dotnet ,这个镜像将确保容器包含运行 ASP.NET Core 应用所需的一切基础环境。

    COPY publish /app
    复制当前目录下编译好的项目源码到 Docker 镜像里的 /app 目录。

    WORKDIR /app
    WORKDIR 指令 为 Dockerfile 中的任何 RUN,CMD,ENTRYPOINT,COPY 和 ADD 指令设置工作目录。
    如果 WORKDIR 不存在它将被创建,Dockerfile 中之后的命令都会在这个 /app 文件夹内执行。

    EXPOSE 8000/tcp
    默认情况下,Docker 容器不会暴露任何网络端口到外部。这里通过 EXPOSE 将内部端口映射到外部 8000 端口。

    ENV ASPNETCORE_URLS http://*:8000
    ENV 指令将在容器里设置环境变量。ASPNETCORE_URLS 这个变量告诉 ASP.NET Core 应该绑定到哪个网卡的哪个端口上。

    ENTRYPOINT ["dotnet", "Demo_Core_Web_1029.dll"]
    Dockerfile 的最后一行通常都会设置一个入口程序,这里用 dotnet Demo_Core_Web_1029.dll 命令启动程序。

    5. Dockerfile 编写完成后,开始构建镜像。(注意结尾的句点

    docker build -t web007 .

    Docker 是通过 docker build 指令执行 Dockerfile 中的一系列命令来完成自动构建镜像的。

    6. 镜像构建完成后,即可运行这个 .NET Core 应用的容器了。

    docker run -it -p 8000:8000 web007

    运行 docker images 命令可列出全部镜像。

    -it 参数的作用是让 Docker 以交互模式运行这个容器。当你想要停止这个容器的时候可按 Ctrl+C 结束。

    7. 打开浏览器输入 http://localhost:8000/ 即可访问应用。

    参考资料

    https://www.hi-linux.com/posts/60777.html
    https://www.cnblogs.com/bluesummer/p/8087326.html

  • 相关阅读:
    华为云发送邮件
    activiti act_re_model 分析
    tengine upstream
    zuul压力测试与调优
    idea 快捷键
    kubernetes helm
    编写高质量代码–改善python程序的建议(二)
    编写高质量代码--改善python程序的建议(一)
    总结OpenvSwitch的调试经验
    提高SDN控制器拓扑发现性能
  • 原文地址:https://www.cnblogs.com/jinzesudawei/p/9874290.html
Copyright © 2020-2023  润新知