• Centos下安装Docker,并在Docker中运行.net core web api项目


    Centos下安装Docker

    • 切换成root用户sudo su -
    • 运行命令yum -y install docker安装docker
    • 运行命令service docker start启动docker
    • 运行命令docker run hello-world 测试运行hello-world
    • 修改docker的镜像地址 vim /etc/docker.daemon.json 添加内容
    {  
    "registry-mirrors": ["http://hub-mirror.c.163.com"]
    }

    Centos下面安装dotnet core sdk并创建.net core webapi项目

    • centos下安装dotnet core sdk,命令查看官网,安装完成后可以通过dotnet --version来查看 dotnet core sdk版本及它是否安装成功。
    • 创建.net core webapi测试项目
    #进入/usr/src
    cd /usr/src
    #创建webapi文件夹
    mkdir webapi
    #进入webapi文件夹
    cd webapi
    #创建webapi项目,项目名称就是文件夹名字.也可以用--name XXX 来指定名称
    dotnet new webapi
    #启动webapi项目,启动成功之后浏览器中通过http://localhost:5000/api/values就可以访问webapi接口了。
    [root@localhost webapi]# dotnet run
    Hosting environment: Production
    Content root path: /usr/src/webapi
    Now listening on: http://localhost:5000
    Application started. Press Ctrl+C to shut down.
    • 在webapi的根目录创建Dockerfile,根据dockerfile构建docker镜像.运行命令docker build -t myapiimage .,构建成功之后查看docker images可以查看这个myapiimage镜像
    #基于dotnet:latest构建
    FROM microsoft/dotnet:latest
    #把/app作为工作目录,然后把所有代码得到到/app下
    WORKDIR /app
    COPY ./ .
    #暴露80端口
    ENV ASPNETCORE_URLS http://+:80
    EXPOSE 80
    #还原包
    RUN dotnet restore
    #在容器中net core api
    ENTRYPOINT ["dotnet","run"]
    • 在docker中运行corewebapi项目docker run -p 8080:80 myapiimage。用浏览器访问http://localhost:8080/api/values就可以访问docker中的这个corewebapi项目了.它的内容和直接访问http://localhost:5000是一样的
    [root@localhost webapi]# docker run -p 8080:80 myapiimage
    warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
    No XML encryptor configured. Key {d1d8c7b4-6057-4b41-ab80-4f038b6fd195} may be persisted to storage in unencrypted form.
    Hosting environment: Production
    Content root path: /app
    Now listening on: http://[::]:80
    Application started. Press Ctrl+C to shut down.

    参考资料

    在Docker容器上运行.Net Core API

  • 相关阅读:
    Python排序算法之选择排序
    Python排序算法之冒泡排序
    http和https的区别
    【转】Robot Framework作者建议如何选择自动化测试框架
    内联的两种方式
    生产者与消费者以及ActiveMQ
    QT定时器
    生产者与消费者
    QT实现输入框与下拉框提示并可模糊匹配
    GetQueuedCompletionStatus客户端前端和server之间的通信
  • 原文地址:https://www.cnblogs.com/Yang2012/p/8483716.html
Copyright © 2020-2023  润新知