zoukankan      html  css  js  c++  java
  • .net core 部署 Docker 所遇到的几个问题

    1.Connection reset by peer

    造成这个问题的主要原因是在program.cs 文件中,未加入端口:

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
    .UseUrls("http://*:5000")
    .UseStartup<Startup>();

    然后重新生成静象,打包容器,就可以了。

    2.时间问题

    在容器里面获取到的时间,要比真实时间少。docker 里面的时区是外国的,不是中国的。

    解决方法,在配置文件中加入时区设置

    #crosoft/dotnet:1.0.0-core` 来构建我们的镜像
    FROM microsoft/dotnet:latest
    
    #拷贝项目publish文件夹中的所有文件到 docker容器中的publish文件夹中  
    COPY . /api.moodfans.com
    
    #设置工作目录为 `/publish` 文件夹,即容器启动默认的文件夹
    WORKDIR /api.moodfans.com
    
    #设置Docker容器对外暴露60000端口
    EXPOSE 5000
    
    #设置时间为中国上海
    ENV TZ=Asia/Shanghai
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
    
    #使用`dotnet Mood.API.dll`来运行应用程序
    CMD ["dotnet", "demo.dll"]

    问题3 ,在重启后,自动运行容器

    在 docker run 命令中 加入 --restart always

    如下 

    docker run --name demoname -d -p 666:5000 --restart always imagename

  • 相关阅读:
    160. Intersection of Two Linked Lists
    155. Min Stack
    TensorRT caffemodel serialize序列化
    141. Linked List Cycle
    异或运算的性质及应用
    136. Single Number
    【leeetcode】125-Valid Palindrome
    c++函数参数类型-引用、指针、值
    【linux基础】linux远程登录SSH
    【leetcode】122-Best Time to Buy and Sell Stock II
  • 原文地址:https://www.cnblogs.com/kaifei/p/10395768.html
Copyright © 2011-2022 走看看