zoukankan      html  css  js  c++  java
  • centos7安装docker详解和使用之.netcore的搭建和访问(三)

    一,在前两篇文章,我们搭建好docker,现在我们怎么跑netcore项目呢?其实docker是有三层给镜像,默认镜像--极简Linux+CoreCLR---APS.NETCORE

    1》我们先需要新建一个core的demo,这是一个默认的mvc项目,就只是添加了docker支持,如下图

     操作这个步骤会多了Dockerfile这个文件,文件内容默认就好

    将Dockerfile这个文件复制到根目录

    我们看看默认生成的Dockerfile是怎样的

    FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base  
    WORKDIR /app
    EXPOSE 80
    
    FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
    WORKDIR /src
    COPY ["DockerDemo/DockerDemo.csproj", "DockerDemo/"]
    RUN dotnet restore "DockerDemo/DockerDemo.csproj"
    COPY . .
    WORKDIR "/src/DockerDemo"
    RUN dotnet build "DockerDemo.csproj" -c Release -o /app/build
    
    FROM build AS publish
    RUN dotnet publish "DockerDemo.csproj" -c Release -o /app/publish
    
    FROM base AS final
    WORKDIR /app
    COPY --from=publish /app/publish .
    ENTRYPOINT ["dotnet", "DockerDemo.dll"]

    我们来解析下命令的含义:

    1》FROM:基础镜像 

    2》WORKDIR:工作目录,类似于cd命令

    3》EXPOSE 映射端口

    4》COPY:功能类似ADD,但是是不会自动解压文件,也不能访问网络资源

    5》RUN:构建镜像时执行的命令

    6》#ENTRYPOINT:配置容器,使其可执行化。配合CMD可省去"application",只使用参数。

    综上所得:dockerfile最总的命令就是:准备基础镜像--cope代码--编译---发布---dotnet

    二,现在我们将整个项目文件复制到centos的文件夹下,在centos打包成镜像,我的文件目录

     三,执行打包逻辑

    1》先去文件的目录下,执行以下命令

    cd /root/DockerDemo

    2》执行打包镜像命令,注意这里Dockerfile后面是有一个.(ps:点)的,这个点表示的意思是当前目录

    docker build -t dockerdemo -f Dockerfile .

    执行查看镜像命令

    docker images

    结果如下

    3》生成容器实例

    docker run -itd -p 8082:80 dockerdemo

    成功结果

    查看容器命令

    docker ps -a

     这里的staus是up证明已经跑起来了,如果有问题,我们用查看日志的方式查看下异常

    docker logs asa85b928196

    4》测试下访问是否成功(ps:172.17.0.1是我虚拟机的ip,你可以用ip address命令查看Ip地址)

    ip address

    发现虚拟机ip和自己电脑访问ip

    curl http://172.17.0.1:8002

    如下返回了html

    虚拟机浏览器访问地址

     主机访问IP地址:http://192.168.60.130:8082/

    我们查看dotnet的信息

    dotnet --info

    5》删除所有容器(实例),因为刚刚发布了太多影响到我们查看

    docker rm $(docker ps -aq)

     6》删除所有镜像

    docker rmi -f $(docker images)
  • 相关阅读:
    Python绘图工具Plotly的简单使用
    gitlab runner安装与使用
    Ubuntu16.04下postgresql-10
    gitlab汉化
    Ubuntu 16.04 安装Gitlab
    Ubuntu-18.04安装Docker
    微信公众平台消息接口开发 彩票查询
    微信开发高级群发接口
    微信公众平台消息接口开发 快递查询
    搭建个人wordpress博客(小白教程)
  • 原文地址:https://www.cnblogs.com/May-day/p/13983079.html
Copyright © 2011-2022 走看看