zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    关于MySQL死锁
    随手一记,maven打包
    js生成带logo的二维码
    java生成带logo的二维码
    关于网页中文本域高度自动适应问题,参考微信回复
    从git上拉下来的严选weex项目demo
    补装老版本的Java SE
    新MBP使用git命令时启用xcode的终端log
    电脑出现“损坏的图像”窗口提示dll没有被指定在Windows上运行如何解决
    不同浏览器隐藏默认表单样式
  • 原文地址:https://www.cnblogs.com/Yang2012/p/8483716.html
Copyright © 2011-2022 走看看