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
  • 相关阅读:
    CMDB资产管理系统开发【day25】:需求分析
    python常用运维脚本实例
    我的Pycharm,我做主
    为什么你总是“半途而废”- 李笑来
    函数和常用模块【day06】:模块特殊变量(十四)
    使用Python的turtle(海龟)模块画图
    第一章:数据结构和算法
    网络编程基础【day10】:IO多路复用
    函数和常用模块【day04】:内置函数分类总结(十一)
    Python基础【day01】:PyChram使用技巧总结(六)
  • 原文地址:https://www.cnblogs.com/liyouming/p/9951999.html
Copyright © 2011-2022 走看看