zoukankan      html  css  js  c++  java
  • netcore 3.1 webapi部署到docker的坑

    原文 https://blog.csdn.net/puzi0315/article/details/104417514/
    参考另一资料 https://www.cnblogs.com/shapman/p/13545457.html
    坑1:默认镜像的系统:

    .netcore 3.1 默认镜像Debian系统的。若系统不对,则会出现异常。我们的系统是Ubuntu,则用 3.1-bionic

    坑2:一直报没有安装SDK:

    报错信息如下:

    /bin/bash:warning:setlocale:LC_ALL:cannot change locale (zh_CN.UTF-8)
    It was not possible to find any installed .NET Core SDKs
    Did you mean to run .NET Core SDK commands? Install a .NET Core SDK from :
    https://aka.ms/dotnet-download
    

    根据调试,我们的最终的dockerfile文件内容如下:

    FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-bionic
    WORKDIR /app
    EXPOSE 80
    EXPOSE 443
     
    #ENV ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyAPM.Agent.AspNetCore
    #ENV SKYWALKING__SERVICENAME=MuXue.Zyiz.Template.WebApi
    ENV LANG zh_CN.UTF-8
    ENV LANGUAGE $LANG
    ENV LC_ALL $LANG
    ENV TZ=Asia/Shanghai
    RUN echo $TZ > /etc/timezone && 
        apt-get update && apt-get install -y tzdata && 
        rm /etc/localtime && 
        ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && 
        dpkg-reconfigure -f noninteractive tzdata && 
        apt-get clean
    RUN mkdir -p /usr/local/tomcat/webapps
     
    COPY publish ./
     
    # install tingyun agent
    #RUN chmod +x ./tingyun-agent-netcore-1.5.2.bin
    #RUN ./tingyun-agent-netcore-1.5.2.bin --license=xxxxxxxxx
    #RUN rm -f ./tingyun-agent-netcore-1.5.2.bin
     
    # setup env for tingyun agent
    #ENV CORECLR_ENABLE_PROFILING 1		
    #ENV CORECLR_PROFILER {8BEB2128-D285-4E1D-91B6-11ACD43EC0EE}		
    #ENV CORECLR_PROFILER_PATH /usr/lib/tingyun-dotnet/x64/tingyun_profiler.so
    #ENV LD_LIBRARY_PATH /usr/lib/tingyun-dotnet/x64:$LD_LIBRARY_PATH
    #ENV TINGYUN_NETCORE_HOME /usr/lib/tingyun-dotnet
    #ENV TINGYUN_APP_NAME muxue-zyiz-net-api
     
    RUN chmod +x ./entrypoint.sh
    ENTRYPOINT ["/bin/bash", "./entrypoint.sh"]
    CMD ["dotnet", "MuXue.Zyiz.Template.WebApi.dll"]
    在webapi的web项目根目录再创建entrypoint.sh,内容如下:
    
    #!/bin/bash
     
    cp -rf /usr/local/tomcat/webapps/..data/* ./
     
    exec "$@"
    

    将Dockerfile和entrypoint.sh 分别设置:

    属性-复制到输出目录:始终复制


    作者:过错
    出处:http://www.cnblogs.com/wang2650/
    关于作者:net开发做的久而已。十余年时光虚度!
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。如有问题,可以邮件:wang2650@163.com  联系我,非常感谢。

  • 相关阅读:
    微信小程序入门
    webpack
    模块化开发(1)
    HTML5表单
    移动端入门
    MySQL
    js面向对象与PHP面向对象总结
    PHP
    Git指令
    Redux
  • 原文地址:https://www.cnblogs.com/wang2650/p/14261053.html
Copyright © 2011-2022 走看看