Net Core教程

Linux 部署.net core 项目

本文主要是介绍Linux 部署.net core 项目,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
  • Visual Studio 中正常发布项目
  • 在发布文件中创建Dockerfile文件,没有后缀
  • Dockerfile文件内容
    #引入镜像,低版本 docker 去掉  AS base
    #换成别人做的阿里镜像
    #FROM registry.cn-hangzhou.aliyuncs.com/newbe36524
    FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
    
    #配置工作目录 相当于cd
    WORKDIR /app
      
    #暴露容器端口,此端口与程序运行路径一致
    EXPOSE 5500
    
    #复制文件到工作目录
    COPY . .
     
    #ENV :配置系统环境变量,比如程序环境环境等在这里配置(开发、预发、线上环境)
    #这里是配置程序运行端口,如果程序不使用默认的80端口这里一定要设置(程序运行端口)
    ENV ASPNETCORE_URLS http://+:5500
    
    #设置时间为中国上海,默认为UTC时间
    ENV TZ=Asia/Shanghai
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
    
    #容器中使用 ["dotnet","系统启动的dll"] 来运行应用程序
    ENTRYPOINT ["dotnet", "NetCoreWebApi.dll"]

     

  • cd 到 Dockerfile 文件所在目录 执行创建镜像命令
    docker build -t test:v1 .
    
    #  test  ----   镜像名称
    #  v1    ----    镜像版本
    
    注意:最后面的 . 不能省略   .前面还有一个空格

     

  • 查看创建的镜像
    docker images
  • 创建容器
    docker run --name test -d -p 8001:5500 test:v1
    
    #  --name test    容器名称
    #  -d  设置为守护线程   在后台运行
    #  -p 8001:5500   端口映射:    8001:外部访问端口   5500:容器对外端口
    #  test:v1  创建容器的镜像
  • 访问
    http://192.168.209.129:8001/api/verify
  • The type initializer for 'Gdip' threw an exception的问题及处理方式

    1、docker exec -it 容器ID  /bin/sh    进入容器
    
    2、执行 apt-get update
    
    3、执行 apt-get install -y libgdiplus
    
    4、创建符号连接
    
        ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll
        
    5、重启容器 docker restart 容器ID

     

这篇关于Linux 部署.net core 项目的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!