zoukankan      html  css  js  c++  java
  • .NETCore 添加Docker支持,并上传镜像至Docker Hub,最后在CentOs中拉取镜像运行

    .NET Core 项目中使用 Docker生成镜像,上传到Docker Hub中后,可在任意一台CentOs系统中拉取镜像直接运行.NET Core

    第一步:下载安装Docker for Windows


     下载地址:https://oomake.com/download/docker-windows

    需要优先启用虚拟化:(在Bios中开启)

    开始后在任务管理器中查看:

     打开Docker Desktop。

    第二步:配置Docker


    申请Docker Hub账号,并登陆。申请地址:https://hub.docker.com/signup?next=%2F%3Futm_source%3Ddocker4win_2.0.0.3

    设置共享驱动:(C盘必须勾上,同时需要勾上项目的所在目录)

    可以在阿里云中免费申请一个镜像加速器:

    基础设置完成,打开命令窗口验证。

    第三步:VS新建项目,生成镜像


    不勾选“启用Docker支持”,后面手动添加配置文件 

    手动添加Dockerfile文件(可添加记事本后删除后缀),并添加左侧配置(注意修改dll文件名)

    # 添加基础镜像:docker会从网络下载这个镜像
    FROM microsoft/dotnet:2.1-aspnetcore-runtime
    #容器中系统的工作空间
    WORKDIR /app
    #拷贝当前文件夹下的文件到容器中系统的工作空间(注意:“.”后面有空格)
    COPY . /app
     
    #设置Docker容器对外暴露的端口
    EXPOSE 80
    #容器中使用 ["dotnet","系统启动的dll"] 来运行应用程序
    ENTRYPOINT ["dotnet", "MyDocker.dll"]

    设置Dockerfile文件的属性

    进入项目文件夹,发布项目

    切换至发布目录下,通过命令生成镜像(注意命令后面有个 空格 和 .)

    docker build -t mydocker:v1 .

     

    新打开一个命令窗口,查看刚刚生成的镜像

    第四步:上传镜像至Docker Hub


    登陆Docker Hub,创建一个镜像仓库

     

    使用 tag 标记本地镜像,将其上传到刚刚新建的仓库中。

    docker tag mydocker:v1 ghostdao/docker1:v1
    docker push ghostdao/docker1:v1

    上传成功,在Docker Hub  Tags标签页中可以看到

    第五步:在CentOs系统中安装Docker


    参考:https://www.cnblogs.com/yufeng218/p/8370670.html 

    第六步:拷贝VS发布的文件到CentOs中


    使用WinSCP把整个发布目录publish,发送到CentOs系统中的mydocker文件夹下

    第七步:从Docker Hub中拉取镜像


    进入CentOs系统,使用终端登陆 Docker Hub (这里是已经登陆过的)

    开始拉取镜像,查看结果

    docker pull ghostdao/docker1:v1

    使用镜像 ghostdao/docker1:v1,以后台模式启动一个容器,将容器的 80 端口映射到主机的 8088 端口,主机的目录 /publish 映射到容器(成功后,容器状态显示为Up)

    docker run --name=mydocker_v1 -d -p 8088:80 -v /root/桌面/mydocker/publish:/app ghostdao/docker1:v1

    访问服务器

    http://192.168.1.174:8088/api/values


  • 相关阅读:
    《C++ Primer》学习笔记第2章 变量和基本类型
    Java学习笔记类的继承与多态特性
    Java的冒泡排序问题
    新起点,分享,进步
    MVC2中Area的路由注册实现
    了解一下new关键字实现阻断继承的原理
    利用Bing API开发的搜索工具(MVC+WCF)
    ASP.NET MVC中错误处理方式
    const和readonly内部区别
    WCF中校验参数的实现方式(一)
  • 原文地址:https://www.cnblogs.com/ghostdao/p/10784886.html
Copyright © 2011-2022 走看看