上一文章,主要介绍Dockerfile里各参数的含义,以及在项目文件里这些内容的含义,因为大叔认为官方和网上其它文章说的有些模棱两可,不太好让大家理解,所有我又从新写了一个大白话的文章,希望可以给大家一些帮助.<DotNetCore跨平台~Dockerfile的解释>

本文章主要对一个windows下的dotnet new api生成的项目进行迁移,将它存储为一个镜像,然后运行这个镜像,生成一个容器,容器对外开放5000端口,大家就可以通过5000来访问它了,说起来很容易,做起来有些坑!

Docerfile和DotnetCore部署的过程

  1. 项目需要在windows里恢复,生成一下,dotnet restore和dotent publish

  2. 我们在docker里使用的是生成后的东西,比较如目录是项目下的obj/docker/publish

  3. 你的Dockerfile与obj目录是同一级的

  4. 使用docker build '加你的项目根目录路径"

  5. 使用docker run -it -p 5000:5000 imageId 运行起一个容器来,同时向外监听了5000端口

做起来

1 通过dotnet new生成一个项目,路径:C:\Users\lind\hellomvc

2 我们在docker里使用的是生成后的东西,比较如目录是项目下的obj/docker/publish

3 你的Dockerfile与obj目录是同一级的

Dockerfile的内容如下

#基于microsoft/dotnet 来构建我们的镜像,它有800多兆,不是300多兆那个
FROM docker.io/microsoft/dotnet
MAINTAINER lind
#设置Docker容器对外暴露5000端口
EXPOSE 5000#输入参数
ARG source
#将source所在目录下的obj/docker/publish下的内容复制到容器根目录的hellomvc目录
COPY ${source:-obj/Docker/publish} ./hellomvc
#将容器当前目录设为hellmvc
WORKDIR hellomvc
#在容器中运行dotnet这个命令
ENTRYPOINT ["dotnet","hellomvc.dll"]

4 使用docker build '加你的项目根目录路径"

这个命令是在linux平台执行的,下面看一下我们项目的路径,可以使用xft,xshell等工具,方式操作,使用xft把整个项目都复制到linux下的/root/project目录

在xshell中连接你的linux主机,输入下面的命令,生成一个新的镜像

5 使用docker run -it -p 5000:5000 imageId 运行起一个容器来,同时向外监听了5000端口

镜像生成后,我们使用docker run 去启动一个容器!

启动后,它将监听5000这个端口,IP地址就是linux主机的,我们在外面可以通过linux ip:5000来访问它

如果你希望对外暴露8000端口,可以这样写docker run -it -p 8000:5000 7c8d43fe67f9,这样,相同的网站被你在两个容器中共同执行了,或者说一个网站多了一个"负载"的支持,看到这里你是否想起什么了,对就是负载均衡,你的环境部署更简单了,一个项目可以在很短的时间被部署起来,再配上反射代理(nginx,lvs),一个网站负载就搭好了!

这个命令可以为你的镜像重命名

docker tag 7c8d43fe67f9 helloapi:1.0

当然,如果你的阿里云有自己的镜像,也可以把这个镜像改名成阿里云的镜像,然后把这个本地的镜像push到云上,方便在其它服务器上使用它

希望这篇文章可以帮助刚开始学docker的学生们,大家有问题可以直接与我联系!

docker是一种新的技术,它在未来将会再火一把!一个镜像,到处执行!

相关文章:

  • 老司机实战Windows Server Docker:1 初体验之各种填坑

  • 老司机实战Windows Server Docker:2 docker化现有iis应用的正确姿势

  • 老司机实战Windows Server Docker:3 单节点Windows Docker服务器简单运维(上)

  • 老司机实战Windows Server Docker:4 单节点Windows Docker服务器简单运维(下)

  • 老司机实战Windows Server Docker:5 Windows Server Dockerfile葵花宝典

  • .Net大户的选择:Windows Container在携程的应用

  • Docker4Dev #6 使用 Windows Container 运行.net应用

  • Docker基础入门及示例

  • Linux+Nginx+Asp.net Core部署

  • Docker Machine 简介

  • 容器,Docker和Azure Container Service

  • 基于VS2017的Docker Support体检ASP.NET Core站点的Docker部署

  • Docker-Compose 一键部署Ningx+.Net Core+Redis集群

  • DotNetCore跨平台~Dockerfile的解释

原文地址:http://www.cnblogs.com/lori/p/7169816.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

Docker~从Dockerfile到Container的过程相关推荐

  1. docker~从Dockerfile到Container的过程(终于算是OK了)

    回到目录 上一文章,主要介绍Dockerfile里各参数的含义,以及在项目文件里这些内容的含义,因为大叔认为官方和网上其它文章说的有些模棱两可,不太好让大家理解,所有我又从新写了一个大白话的文章,希望 ...

  2. docker之Dockerfile实践

    先查看下本地的镜像,选一个作为base image: [root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE wades ...

  3. docker之Dockerfile指令介绍

    Docker通过对于在Dockerfile中的一系列指令的顺序解析实现自动的image的构建 通过使用build命令,根据Dockerfiel的描述来构建镜像 通过源代码路径的方式 通过标准输入流的方 ...

  4. Docker : Dockerfile 定制镜像

    使用 Dockerfile 定制镜像 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程.   镜像的定制实际上就是定制每一层所添加的配置.文件.如果我们 ...

  5. docker 之 Dockerfile 实践

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 上一篇介绍了Dockerfile中使用的指令,现在开始进行指令实践 先查看下本地的镜像,选一个作为b ...

  6. docker教程,dockerfile教程

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 docker安装请参考:https://blog.csdn.net/luanpeng825485697/article/details/8086258 ...

  7. Docker容器---dockerfile简介

    Docker容器---dockerfile简介 一.dockerfile概念 1.dockerfile介绍 2.基于dockerfile创建 3.docker镜像加载原理 二.镜像的创建 1.基于现有 ...

  8. Docker 精通之 Dockerfile

    Docker 精通系列 Docker 精通之入门 Docker 精通之微服务 Docker 精通之常用命令 Docker 精通之 Dockerfile 1.基本说明 Dockfile 是一个用于编写 ...

  9. Docker使用Dockerfile构建简单镜像

    Docker使用Dockerfile构建简单镜像 首先确保系统已经安装docker 构建镜像 安装基础镜像 sudo docker pull ubuntu 查看镜像是否已经拉取成功 REPOSITOR ...

最新文章

  1. 如何转换和输出超大整数(64位)
  2. 线程安全机制 python
  3. 北理工团队在推动运动意图神经解码走向真实应用场景方面取得研究进展
  4. Vue PDF文件预览vue-pdf
  5. 动态规划——区间dp
  6. C++ 复制vector值到array,复制 array 到jintArray
  7. JSTracker:前端异常数据采集
  8. URAL 1146 Maximum Sum(最大子矩阵的和 DP)
  9. linux常用网络命令详解,linux网络命令详解(鸟哥)
  10. 【TensorFlow系列一】TensorFlow工作原理
  11. 亚马逊无人商店因拒收现金被美国多地禁止:被认定歧视消费者
  12. JadedWraith:轻量级Unix后门
  13. 这几款简单好用的录屏软件,快收藏起来
  14. 扬声器安装程序unknown,电脑无声音
  15. dns按来路ip智能解析_云解析实现智能解析
  16. TB-RK3399Pro 找不到网络图标,如何连wifi呢?
  17. SQL 多个字段的值拼接成Josn
  18. 对于服务治理概念的一些总结和理解,我们应该如何实践服务治理
  19. jacoco不是奶茶,却像奶茶一样美味,不尝一下吗?
  20. 管理类联考-英语 : 基础 [ 七 ]

热门文章

  1. iOS开发之手势识别
  2. NATS服务器部署及测试
  3. jQuery中,选择器既匹配开头又匹配结尾
  4. 【转】URL编码(encodeURIComponent和decodeURIComponent)
  5. Android系统如何实现UI的自适应
  6. 一个检查SPN的小工具
  7. 2010.7.27 OnDraw与OnPaint有什么区别
  8. 如何通过 C# 生成安全的 Base64 URL 字符串?
  9. 讲师征集| .NET Conf China 2021正式启动!
  10. 在 Azure VM 上使用 Jitsi 搭建私人视频会议