zoukankan      html  css  js  c++  java
  • .NetCore中的程序通过Docker在CentOS中部署

    基础说明

    安装Docker过程就略过了

    创建一个Asp.Net Core程序

    启用Docker支持,会生成Dockerfile文件,接下来看下这个文件,当然不同的版本生成的具体可能不一致

    FROM microsoft/dotnet:2.1-aspnetcore-runtime
    WORKDIR /app
    COPY . .
    EXPOSE 80
    ENTRYPOINT ["dotnet", "DockerTest.dll"]

    具体内容含义这里就介绍了,这里需要说明下的就是如下:

    先看下:FROM中的dotnet镜像,在CentOS中pull拉取相关镜像,查看下镜像

    当然这里Dockerfile中也可以用其他的镜像

    接下来就是遇到的一些问题,当我们把.NetCore发布的程序包放到CentOS中,发布时的时候注意要设置Dockerfile文件的发布属性

    这样发布才会把Dockerfile文件打包到publish,当然你没有设置也没有太多关系,我们可以在CentOS中发布的目录中创建一个Dockerfile也是可以的

    制作镜像

    进入发布文件目录

    cd publish
    docker build -t liyouming .

    我制作了一个liyouming的镜像,下面通过

    docker images

    查看下镜像

    运行到容器

     通过下面的运行到容器中

    docker run --name=liyouming_iamge1 -P -d liyouming

    docker run --name=liyouming_iamge2 -p 33333:80  -d liyouming

    -P:随机分配端口,-p:指定映射的端口

    --name:容器名称  -d:依赖的镜像名称

    两个容器都运行成功了,接下来通过命令查看下

    docker ps

    查看在运行的容器

    可以看到依赖Image镜像名称,端口情况,已经容器名称

    接下来通过这2个端口访问下程序,当然你也可以通过curl ip:端口查看

     

     部署起来特别方便,短时间能部署很多,最后把这些常用命令总结下

    docker build -t 镜像名称 .
    docker run --name=容器名称 -p 33333:80 -d 镜像名称
    docker images
    docker ps
    docker ps -a
    docker stop containerid或containername
    docker start containerid或containername
    docker restart containerid或containername
    docker rm containerid或containername
    docker rmi imageid或imagename
  • 相关阅读:
    Ajax基本用法
    浏览器兼容性问题
    对闭包的简单理解
    JSON
    Ajax知识
    对jsonp原理理解
    java Active Object模式(上)
    物联网传输协议MQTT
    谈谈如何在面试中发掘程序猿的核心竞争力
    响应式Web设计的9项基本原则
  • 原文地址:https://www.cnblogs.com/liyouming/p/9951999.html
Copyright © 2011-2022 走看看