事先念下Docker的基本概念。先学下Docker的基本概念。

一、引言

  开始写就首博客前,已经尝练习了好勤Docker环境安装,.Net
Core环境安装了,在这里替腾讯谈做一个放,假如我们怀念深造、练手.net core
或是Docker却苦于没有开发条件,服务器也无思量进,那么我们可采取腾讯云提供的开发者实验,每个实验项目每天可以免费使用同样差,时常45分钟,学习技术就因看几乎首稿子、几本书是全不够的,”实践在能够生真知“。

腾讯云开发者实验连接地址

 

第二、环境介绍

  在演习平台达成之条件是CentOS7.3版
或许你晤面说自不懂Linux怎么收拾,没提到,我耶是小白,学点基本命令暂时能用起就推行了。毕竟我们不是专程在Linux下将开发之。(Linux下专业人士见谅哈)。

  Docker容器,如果说Docker容器还未知道什么概念以来,我引进先暂停,先修下Docker的基本概念,弄清楚Docker是呀,总比更看越乱好.

  dotnet镜像(也可是aspnetcore镜像这两头的涉及自以稍后解释).

  OK,开始动手!

 

老三、启动实验,安装Docker

  图片 1

  我上的搭建Docker环境,当然也可于其它实验被开始着手。从搭建Docker环境中跻身我们得以视要求的步骤,方便我们快安装,仅此而已。 

  1、先来安Docker环境

  yum install docker-io -y //CentOS已经将Docker软件包放在了Extras软件源中,直接利用即可
  docker -v //查看docker的版本 version
  systemctl start docker.service //开启Docker服务
  systemctl enable docker.service //开机启动Docker服务

  图片 2

  图片 3

  安装Docker环境时索要等待一到个别分钟……..安装完毕!

  接下我们用拿Docker服务拓展启动

  图片 4

  到此Docker环境的装就曾结了。

 

   当然我们尚需配置Docker,开始布置DockerHub:

  echo "OPTIONS='--registry-mirror=https://mirror.ccs.tencentyun.com'" >> /etc/sysconfig/docker
  systemctl daemon-reload //重新载入 systemd,扫描新的或有变动的单元
  systemctl restart docker.service //重启docker服务

 

 

四、安装.NETCore环境

  接下我们将生少栽方法来安装我们的.net
core环境

  方式一:在Docker容器中获得dotnet镜像

  docker pull microsoft/dotnet //安装.net core镜像

 

  图片 5

   这种措施供被了我们.net
core的上上下下模板,编译工具,RunTime等等,一应俱全。

  我们得以经过docker命令查看我们已经具备的镜像,注意 即时要以Linux主机下查看,别跑至容器被去了

  docker images // 查看当前已有的docker镜像文件

 

  图片 6

   当前命令下我们得以看到dotnet镜像就于我们拉取下来了。OK

  继续,我们初步新建并运行一个为dotnet镜像的器皿

  docker run -it microsoft/dotnet //启动一个dotnet镜像

 

   图片 7

  看root后面变化了从未有过,这说明我们早就跻身了一个器皿,Docker当新建一个器皿后,会叫此容器分配一个id,也尽管是我们所见的那么错字符串了。

   继续,通过命令新建一个web应用

  dotnet new mvc -n MyFirstDocker.Web //创建项目名为MyFirstDocker.Web的ASP.NET Core MVC项目

  图片 8

  我们可以通过ls命令看到眼前容器中之具备文件夹信息,MyFirstDocker.Web项目已创办好了

  图片 9

  于MyFirstDocker文件夹内,有过多咱们熟悉的事物

   图片 10

  接下,通过命令启动项目

  dotnet run //启动项目

  图片 11

   OK,大功告成,项目启动,由于试验环境尚未得浏览器,我们不得不看看
哈哈 貌似是生同样种植办法可以视页面 但我还未曾学会 见谅哈

 

   通过命令exit退出时容器,查看时主机及曾有些容器实例

  docker ps -a // 查看当前的已存在的容器实例 (不考虑状态)

 

 

  以此我们初步要考虑长久计划了,假如自己用将新的公文参加进来,我得以什么办法,在容器中装置一个git,pull新文件,或许可以,但是若说这大主机上发生十单容器,都运作着服务,莫非我还得十独容器全部安git,基于这个考虑,可以尝尝用生这种操作了。

  我于Linux主机中安装.NET Core
SDK

  首先开始布置安装包之根源

  sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
  sudo sh -c 'echo -e "[packages-microsoft-com-prod]
  name=packages-microsoft-com-prod 
  baseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod
  enabled=1
  gpgcheck=1
  gpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'

  图片 12

  接下去开始安装.net-sdk,版本2.0.3,这个过程耗时比较丰富,需要耐心等

  sudo yum update
  sudo yum -y install libunwind libicu
  sudo yum install dotnet-sdk-2.1.3

   好了,开始连下去的操作了

  cd /home 
  mkdir aspnetcoreapp
  cd aspnetcoreapp
  dotnet new web
  dotnet restore
  dotnet run

   图片 13

  通过直接开行,也是足以一直运行起来的,但是得是免推荐的呀,毕竟Docker这么好用 
哈哈

  图片 14

  接下去吃Linux主机上的文本可以共享文件及Docker容器中,这样一来我们可以直接在Docker中使用Linux主机文件,然后运行起来,当起文件改动,只需要更新Linux主机上之公文即可。这里见面遇见一个题目,就是显而易见已用了共享目录的命,但是Docker容器中连没有那些文件,这是由selinux的缘由,我之缓解方案就是是在
-v加上一个–privileged=true,当然这方案吧是赖度娘得知的。

  当前Docker容器中已经发出了共享目录下之文书,可能会见得dotnet
restore然后方可为此dotnet run进行启动

   图片 15

 

  方式二:在Docker容器中赢得aspnetcore镜像

  docker pull microsoft/aspnetcore //安装asp.net core镜像

 

  图片 16

  查看时既有的镜像,成功安装了aspnetcore镜像

  图片 17

  同样与眼前的操作一样,我们根据该镜像新建一个器皿

  docker run -it microsoft/aspnetcore //运行一个以aspnetcore为镜像的容器 

  同新建一个运,但是会意识是用不可知成功,提示我们从不SDK

  dotnet new mvc -n HelloDocker.Web //创建项目名为HelloDocker.Web的ASP.NET Core MVC项目

  图片 18

   

  以此地自己一旦分解下dotnet镜像和aspnetcore镜像是什么关联:

   在dockerhub官网中具备dotnet和aspnetcore的镜像,dotnet可以作为是集大成者,包含了.netcore控制台aspnetcore的富有,而aspnetcore是盖dotnet镜像吗底蕴,在aspnetcore中单单含有了RunTime和构建当前色也镜像的家伙,这也不怕代表一旦我们设直接使用aspnetcore为镜像,我们的型是要是既编译好了底,才得以一直运用此镜像。

  而当你用dotnet镜像经常,包含了编译工具,Runtime,一切的浑,这为激素dotnet镜像比aspnetcore镜像大这么多之原由了。

  图片 19

   可以利用方式一样尾声在Linux下编译好的类,同样用共享目录的法共享到有aspnetcore镜像的Docker容器中,这样我们便可以一直走起了。由于岁月涉及没有品味,下次会尝试一下。

  这样做的利益是以支付环境遭受编译好的项目我们得以一直用来之所以,Docker容器中特需要周转时环境就好了。

 

 

 五、DockerFile文件之来意

  dockerFile可是好东西,好比如说用在武功秘籍,一招一式照在开。

  一般是以类型受到建筑好一个dockerfile文件,然后以中写及我们的要求

  FROM microsoft/dotnet:latest
  WORKDIR /app
  COPY . /app
  RUN dotnet restore
  EXPOSE 5000
  ENV ASPNETCORE_URLS http://*:5000
  ENTRYPOINT ["dotnet","run"]

 

   通过命令将dockerfile文件运行,将所有项目自包改成镜像,我们可以以docker
images可以视这转变的初镜像

  docker build -t mydockerimage .

 

   如果我们得运用这个镜像,我们可直接在创立容器时指定这个镜像,生成之后的环境与您打包之镜像是同一的

   最后谢谢博友的章参考,半只不解的时候恰恰看到就首稿子,很顺畅的化解了一个问题。

  @圣杰 http://www.cnblogs.com/sheng-jie/p/8107877.html

 

  新年关键,在是祝愿大家  新年开门红
大吉大利。

 

2018-1-1,望技术有成后能回来看见自己的脚步

 

一、引言

  开始勾画这首博客前,已经尝试练习了好勤Docker环境安装,.Net
Core环境安装了,在这里替腾讯谈做一个推广,假如我们想学学、练手.net core
或是Docker却闷没有开发条件,服务器也无思量置,那么我们得以下腾讯云提供的开发者实验,每个实验项目每天可以免费使用同样差,时常45分钟,学习技术就因看几篇稿子、几本书是完全不够的,”实践着会发出真知“。

腾讯云开发者实验连接地址

 

次、环境介绍

  于习平台上的条件是CentOS7.3版
或许你会说自己不懂Linux怎么惩罚,没干,我呢是小白,学点基本命令暂时能为此起就是实施了。毕竟我们不是专程在Linux下整开发之。(Linux下专业人士见谅哈)。

  Docker容器,如果说Docker容器还未晓呀概念以来,我引进先暂停,先读书下Docker的基本概念,弄清楚Docker是呀,总比更看更繁杂好.

  dotnet镜像(也足以是aspnetcore镜像就二者的涉自将稍后解释).

  OK,开始动手!

 

其三、启动实验,安装Docker

  图片 20

  我进入的搭建Docker环境,当然为足以由其它实验中启着手。从搭建Docker环境中入我们得观看要求的手续,方便我们快安装,仅此而已。 

  1、先来安Docker环境

  yum install docker-io -y //CentOS已经将Docker软件包放在了Extras软件源中,直接利用即可
  docker -v //查看docker的版本 version
  systemctl start docker.service //开启Docker服务
  systemctl enable docker.service //开机启动Docker服务

  图片 21

  图片 22

  安装Docker环境时需拭目以待一至一定量分钟……..安装了!

  接下去我们得将Docker服务开展启动

  图片 23

  到此处Docker环境的装就已经结了。

 

   当然我们还待配备Docker,开始配备DockerHub:

  echo "OPTIONS='--registry-mirror=https://mirror.ccs.tencentyun.com'" >> /etc/sysconfig/docker
  systemctl daemon-reload //重新载入 systemd,扫描新的或有变动的单元
  systemctl restart docker.service //重启docker服务

 

 

四、安装.NETCore环境

  接下去我们以产生些许栽办法来安我们的.net
core环境

  方式一:在Docker容器中拿走dotnet镜像

  docker pull microsoft/dotnet //安装.net core镜像

 

  图片 24

   这种措施供被了我们.net
core的百分之百模板,编译工具,RunTime等等,一应俱全。

  我们得以经过docker命令查看我们既持有的镜像,注意 随即要在Linux主机下查看,别跑至容器中错过矣

  docker images // 查看当前已有的docker镜像文件

 

  图片 25

   当前令下我们得看来dotnet镜像曾经于我们拉取下来了。OK

  继续,我们初步新建并运行一个坐dotnet镜像的器皿

  docker run -it microsoft/dotnet //启动一个dotnet镜像

 

   图片 26

  看root后面变化了没有,这证明我们曾经进来了一个容器,Docker当新建一个容器后,会让这个容器分配一个id,也就是咱所见的那么错字符串了。

   继续,通过命令新建一个web应用

  dotnet new mvc -n MyFirstDocker.Web //创建项目名为MyFirstDocker.Web的ASP.NET Core MVC项目

  图片 27

  我们得以经过ls命令看到眼前容器被之有着文件夹信息,MyFirstDocker.Web项目早就创办好了

  图片 28

  在MyFirstDocker文件夹内,有多咱熟悉的物

   图片 29

  接下,通过命令启动项目

  dotnet run //启动项目

  图片 30

   OK,大功告成,项目启动,由于试验环境没有得浏览器,我们只能望
哈哈 貌似是发出雷同栽方式可观看页面 但自己还不曾学会 见谅哈

 

   通过命令exit退出时容器,查看时主机及既部分容器实例

  docker ps -a // 查看当前的已存在的容器实例 (不考虑状态)

 

 

  于这边我们开如考虑长久计划了,假如我待用新的文书参加进来,我可下什么艺术,在容器中安一个git,pull新文件,或许可以,但是如果说马上台主机及发十独容器,都运行着服务,莫非自身还得十单容器全部安装git,基于此考虑,可以品味用生这种操作了。

  我以Linux主机中安装.NET Core
SDK

  首先开始安排安装包之自

  sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
  sudo sh -c 'echo -e "[packages-microsoft-com-prod]
  name=packages-microsoft-com-prod 
  baseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod
  enabled=1
  gpgcheck=1
  gpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'

  图片 31

  接下去开始安装.net-sdk,版本2.0.3,这个历程耗时较长,需要耐心等

  sudo yum update
  sudo yum -y install libunwind libicu
  sudo yum install dotnet-sdk-2.1.3

   好了,开始接下的操作了

  cd /home 
  mkdir aspnetcoreapp
  cd aspnetcoreapp
  dotnet new web
  dotnet restore
  dotnet run

   图片 32

  通过一直开行,也是得直接运行起来的,但是毫无疑问是无引进的啊,毕竟Docker这么好用 
哈哈

  图片 33

  接下给Linux主机上的文件可以共享文件及Docker容器中,这样一来我们得以一直以Docker中利用Linux主机文件,然后运行起来,当有文件改动,只需要更新Linux主机上的文件即可。这里会赶上一个问题,就是显而易见就用了共享目录的一声令下,但是Docker容器中连不曾那些文件,这是出于selinux的由来,我之解决方案便是当
-v加上一个–privileged=true,当然者方案也是凭借度娘得知的。

  当前Docker容器中都起了共享目录下的文本,可能会见需要dotnet
restore然后得以用dotnet run进行启动

   图片 34

 

  方式二:在Docker容器中赢得aspnetcore镜像

  docker pull microsoft/aspnetcore //安装asp.net core镜像

 

  图片 35

  查看时都局部镜像,成功安装了aspnetcore镜像

  图片 36

  同样与前面的操作一样,我们根据该镜像新建一个器皿

  docker run -it microsoft/aspnetcore //运行一个以aspnetcore为镜像的容器 

  同新建一个以,但是会发觉这个应用不克打响,提示我们无SDK

  dotnet new mvc -n HelloDocker.Web //创建项目名为HelloDocker.Web的ASP.NET Core MVC项目

  图片 37

   

  在此间我要是说明下dotnet镜像与aspnetcore镜像是啊关联:

   在dockerhub官网中具dotnet和aspnetcore的镜像,dotnet可以当做是集大成者,包含了.netcore控制台aspnetcore的备,而aspnetcore是盖dotnet镜像吗底蕴,在aspnetcore中单独包含了RunTime和构建当前色也镜像的家伙,这也就代表一旦我们设直接用aspnetcore为镜像,我们的种类是一旦都编译好了底,才足以直接使用是镜像。

  而当您以dotnet镜像经常,包含了编译工具,Runtime,一切的周,这也激素dotnet镜像比aspnetcore镜像非常这么多之来由了。

  图片 38

   可以采用方式相同末当Linux下编译好之档次,同样用共享目录的道共享到产生aspnetcore镜像的Docker容器中,这样咱们虽可以直接飞起了。由于时间关系尚未尝试,下次会尝试一下。

  这样做的利益是当开发环境中编译好之种我们可直接以来所以,Docker容器中唯有待周转时环境就足以了。

 

 

 五、DockerFile文件之意

  dockerFile可是好东西,好比如说用在武功秘籍,一招一式照在开。

  一般是以档次受到建筑好一个dockerfile文件,然后于里边写及我们的求

  FROM microsoft/dotnet:latest
  WORKDIR /app
  COPY . /app
  RUN dotnet restore
  EXPOSE 5000
  ENV ASPNETCORE_URLS http://*:5000
  ENTRYPOINT ["dotnet","run"]

 

   通过命令将dockerfile文件运行,将全体项目于包改成镜像,我们得行使docker
images可以看看此变化的新镜像

  docker build -t mydockerimage .

 

   如果我们需要利用这镜像,我们得以一直在创建容器时指定这个镜像,生成之后的条件及汝于包的镜像是同样的

   最后谢谢博友的篇章参考,半只不解的上正看到这首文章,很顺利的化解了一个问题。

  @圣杰 http://www.cnblogs.com/sheng-jie/p/8107877.html

 

  新春关键,在这个祝愿大家  新年瑞
大吉大利。

 

2018-1-1,望技术有成后能回来看见自己的脚步

 

相关文章