一、Docker介绍


Docker是用Go语言编写基于Linux操作系统的一些特性开发的,其提供了操作系统级别的抽象,是一种容器管理技术,它隔离了应用程序对基础架构(操作系统等)的依赖。相较于虚拟机而言,Docker共享的是宿主机的硬件资源,使用容器来提供独立的运行环境来运行应用。虚拟机则是基于Supervisor(虚拟机管理程序)使用虚拟化技术来提供隔离的虚拟机,在虚拟机的操作系统上提供运行环境!虽然两者都提供了很好的资源隔离,但很明显Docker的虚拟化开销更低!

Docker涉及了三个核心概念:Register、Image、Container。

1. Registry:仓库。用来存储Docker镜像,比如Docker官方的Docker Hub就是一个公开的仓库,在上面我们可以下载我们需要的镜像。

2. Image:镜像。开发人员创建一个应用程序或服务,并将它及其依赖关系打包到一个容器镜像中。镜像是应用程序的配置及其依赖关系的静态形式。

3. Container:容器。Container是镜像的运行实例,它是一个隔离的、资源受控的可移植的运行时环境,其中包含操作系统、需要运行的程序、运行程序的相关依赖、环境变量等。

它们三者的相互作用关系是:

当我们执行Docker pull或Docker run命令时,若本地无所需的镜像,那么将会从仓库(一般为DockerHub)下载(pull)一个镜像。Docker执行run方法得到一个容器,用户在容器里执行各种操作。Docker执行commit方法将一个容器转化为镜像。Docker利用login、push等命令将本地镜像推送(push)到仓库。其他机器或服务器上就可以使用该镜像去生成容器,进而运行相应的应用程序。

二、Docker安装


1、使用yum源安装, 由于国内访问官方源慢,此处添加阿里的源

    > wget -P /etc/yum.repos.d/  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
> yum install -y docker-ce

2、启动Docker

    //启动 Docker CE
> systemctl start docker
> systemctl enable docker
//查看Docker状态
> systemctl status docker
//查看docker版本
> docker -v

3、测试Docker是否正确安装,执行命令:

> docker run hello-world

a、当执行 docker run hello-world 时,docker首先会从本地找 hello-world 的镜像,如果本地没有,它将会从默认的镜像仓库Docker Hub上拉取镜像。镜像拉取到本地后,就实例化镜像得到容器,输出Hello from Docker!。

b、Docker Engine提供了Docker的核心技术: 图像(images)和容器(containers). 在安装教程的最后一步, 你运行了Engine命令docker run hello-world. 这一个命令,使Engine完成了Docker的核心任务, 该命令包含了三部分.

c、一个容器是一个精简版的Linux操作系统, 一个镜像是加载到这个容器的软件, 当你运行这个命令后, Engine会做下面的事情:

1.检查是否存在hello-world这个软件镜像

2.从Docker Hub下载镜像(稍后了解Docker Hub)

3.加载这个镜像到容器中, 并运行它

三、.Netcore项目在Docker中运行


1、拉取microsoft/dotnet镜像,等几分钟后即可安装完毕,执行docker images可以看到本地已经包含microsoft/dotnet镜像

> docker pull microsoft/dotnet

2、运行microsoft/dotnet镜像, 使用docker run <image>可以启动镜像,通过指定参数-it以交互模式(进入容器内部)启动。依次执行以下命令:

    > docker run -it microsoft/dotnet    //启动一个dotnet镜像
> dotnet new mvc -n mvctest //创建项目名为mvctest的.NET Core MVC项目
> cd mvctest //进入mvctest文件夹
> dotnet run //启动.NET Core MVC项目

运行结果如下图所示:

键盘按住Ctrl+C即可关闭应用,输入exit即可退出当前容器

以上简单的几步就完成了一个.NET Core MVC项目的创建和运行,这个时候你可能会好奇,Linux宿主机上并没有安装.NET Core SDK啊,MVC项目是如何创建的呢?这就是Docker神奇的地方,我们从镜像仓库中拉取的dotnet镜像,包含了创建、构建、运行.NET Core项目所需的一切依赖和运行时环境。

退出容器之后,执行find -name mvctest(查找mvctest文件),我们发现并没有找到。这说明我们刚才创建的.NET Core MVC项目是在容器内部创建的,是与宿主机完全隔离的。这个时候你可能会想,每次都要在容器中安装源代码太不方便了,我们能不能让容器运行我们宿主机的源代码项目?嗯,这是个好问题。当然是可以实现的,下面我们就来解答这个问题。

四、 宿主机上创建.NET Core 项目


为了在宿主机上创建.NET Core 项目,这个时候我们就需要在Linux宿主机上安装.NET Core SDK

1、宿主机安装.NET Core SDK

添加yum源:sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

开始安装:yum install -y dotnet-sdk-2.1

检测安装版本,如下图表示安装正确

2、创建.NET Core项目

    > mkdir data
> cd data
> dotnet new mvc -n mvctest //创建项目名为mvctest的.NET Core MVC项目
> cd mvctest //进入mvctest文件夹
> dotnet run //启动.NET Core MVC项目

注:在Program.cs文件中加入代码.UseUrls("http://*:5000"),在浏览器中访问如下图:

下一步我们就将该目录下的源码项目通过挂载的方式共享到容器中去

3、挂载宿主机项目到容器中

在启动Docker镜像时,Docker允许我们通过使用-v参数挂载宿主机的文件到容器的指定目录下。换句话说,就相当于宿主机共享指定文件供容器去访问

    // 命令中的`\`结合`Enter`键构成换行符,允许我们换行输入一个长命令。
> docker run -it \
> -v /data/mvctest/:/app \
> microsoft/dotnet:latest

上面的命令就是把/data/mvctest/文件夹下的文件挂载到容器的\app目录下

从上面的执行结果来看,容器内部中的app目录下包含了宿主机上的源码项目。

上面说到是以共享的形式,而不是容器拥有一份宿主机目录的拷贝,意味着,在宿主机上对目录的更改,会即时反应到容器中。但反过来,容器中对共享目录的更改,不会反应到宿主机上,不然就打破了容器具有的隔离特性。

通过这样一个简单场景,聪明的你是否会联想到这一场景在我们日常编码的应用之处呢?是的,我们可以用来持续构建(CI)。基本思路是,通过git clone源码到宿主机上,然后将源码目录挂载到容器中去进行构建

4、借助Dockerfile文件

下篇我们升级此操作,不需Dockerfile的依赖,操作一条命令搞定。

Dockerfile用来定义你将要在容器中执行的系列操作。我们来创建第一个Dockerfile

    > cd /data/mvctest/    //确保进入我们创建的MVC项目目录中去
> touch Dockerfile //使用touch命令创建Dockerfile
> vi Dockerfile //使用vi命令编辑Dockerfile

进入VI编辑界面后,复制以下代码,使用shift + Ins命令即可粘贴。然后按ESE退出编辑模式,按shift + :,输入wq即可保存并退出编辑界面

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

上面的命令我依次解释一下:

使用FROM指定容器使用的镜像

使用WORKDIR指定工作目录

使用COPY指令,复制当前目录(其中.即代表当前目录)到容器中的/app目录下

使用RUN命令指定容器中执行的命令

使用EXPOSE指定容器暴露的端口号

使用ENV指定环境参数,上面用来告诉.NETCore项目在所有网络接口上监听5000端口

使用ENTRYPOINT制定容器的入口点

Dockerfile就绪,我们就可以将我们当前项目打包成镜像以分发部署。

使用docker build -t <name> <path>指令打包镜像:

> docker build -t mvctest.web .

以上命令就是告诉docker将当前目录打包成镜像,并命名为hellodocker.web。命令执行完毕,输入docker images即可看到我们新打包的镜像
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAArcAAAB/CAYAAAD1ueqHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAADYuSURBVHhe7Z3PkSQprIefD+vBWjARfXkxMQ6sAXvr89jRJowP5UN70Fb0ea14h34IEAghBJn1p6sqfzvxxXZCAkISQpmVlfU/4b8vzc8fn19f/34lfv3u6m/Dz68//6Txf+aynz/ev/78pc8DK7BN3/+26xNZ5/++f/026y/F76/3fz/vxJb3JMuV+OvP1yevZ9O2ZPdr2xwAAAC4GWbhnfDz6/cvkWiHJOT975/GeWDGWnJLid4tkltwXyC5BQAA8FSYheDJcJPb5s4eXUAY5wAAAAAAPAZmIQAAAAAAAI+IWQgAAAAAAMAj0hfexxfKVsjPiP7zp3zpbA3+4lTi88d1nuNde851G41tLv5s7K2+ULaBv9/jXK9lo0Mw/ULZmbyevv77ePt6sepWeXn7+ji3j128fL19/Pd1erXqAAAAPCh94TWSMo/fv2jT3fONdSO5zcmQpkmObpQwreqxJKzLFxJOEhoSmfeSuG/9At7G5HZF10skO5p62mir/b7EOLJckPPl7PH79GxLdWckvQ+d3AIAAHhC+sK7SW7/+h023Xqn8lO8FmwVnsvdJrfyrtrZyW2b7F8jgfIwdb1CtMcgubp1cuvJckHuJbml1+vVu7p9/RJIbgEAANwXfeEwKeNE4x+xIfJd0+6OoWg3qsv9aVJ9StQ+f3BCmzZnTnLSRp4ZPZbAiWOpz8mfgsaQfbftc7KwY35Fj7+qvvQYcR4hgY/1Mblt51mQsoySW55vTpKlHWeycH2C+12RRZaFtiNbDOnHqAlX0GW+uEn1PO8KXfDEdq4vOe0apCz5b764Cj7PNo5t83jFD3ht8DzChdl2n6d24zvvzWvxgjxF/7M+I6wD4TPZZu/R/6n859fvH39iPfnD56/wt5koBygZ/e+/r//++/g6nVRyG+pOH1T339fHSSesL19vp49YF9u+vtT+Sh/pUYGPt1xntdN1H1R2yjIFFhLllzfuTzyWEOX4CFAfpzKmlOX1lMewxvH04szhpZE9jPvCbQAAAOygL5RJUVNXNlHeWNNm+NO9Yzi/m2iVRRlEskf1n/T/Jilp+67lRG0n+43oRCQQZdAJTzyPNv198ysJ42ju3L9KSn1Z6NhIVCKWLOmcqSyRvt+5LISj6xm6L5UkJzlbW7VtWz+156Uw2tVylkXM6e+cBIZEs+on6zrrJumXx811dF485nWSxwnYcrb2a/rMMsvk+U9IPud9MobPZF1/Btne9WMJOskuF5lESj5TYvqSkj2VmMo6nRh+vL2Wc1/575LcpkS1TWxVu5fXmDzX52TTmCsJbQ/Lm49jcnr6es3lUQ7nznRMkE+v+bifu2w3nEMesyS0oe6tuygAAACwgb6QE6FRctslGrpcHnt1uX2/KaeNmMaPssTNPm/OTaLVJgO1vM6hk5UwZCjj8N0sOfbO+XUyNOcm2ePfKrl1ZaF+rESFUUnJn2xDXxZu3/c7l8Xoe5k0XtPO0WdtNzg3sCW5bfvUsrAuqK9kq5rcpv7jWFEPuZx14smcMeX05p7/pjF+/2X3uzm5DbSPJVASq/sOfhzGjheWUZbgoyUBzOfI5M+q4+RP10mo7uMUE76PkiyKOtWOksqaAKsEdRNGcpvnQsloST5HifNs7qO6QJlDrPv4euO72AAAAM6lL+RkZTW57c4X53l13L7flDmZSHV8buxrJbnlZFGXM9Y8YlnY+HMdjRPlCv/fO79pHcunkltPllg/SFRkP9SvHN+TpbS3+p3JMtO1R2zbzsGXU/9iXULOofclYt6ul0UmsnZym2St9dxfNwcDS05up+G5/+l+rW/eZ2XgM6Xu/etPSHSp77ZfSm7rBVNJbmWyp5O41TpJTPAosaWP7VUCnOvKowBMc8c0JIe7Psrfntw2jxAQo/l1ya1ow+Q5vLzSoxwh2Y3le+cCAAAg0xcON2czITLK5bFXl9v3m/I5yW2bgNRzBdY8cnLzHhKI9x/h7/yM5XQOTh3r0avTxHM9WbK8SWfriaEnC7c3EyBXlgVdO8Q5NPYMOPqsf+c2xhzMBG+1XSOLnJud3CbdhHLSS6zPbY3+NZ6c3bpT8CcJ+oLC7LNg2TZcqMRzqY7KRZIe5iY/AWgeS4iJ2uIdSqpbvnOb+ogf58u7t6KuaVO4YXKb51DGms1d1rlzqFDyXNoBAADYQ1/YJUnMcNNuk8x2k/XqEn1Z2ohpnChLbJs350ly2yVxFuY8cl9RDv6bdbBvfiyLN/dITpLq3DxZEqkvZSNOekI/NJ6045osRgLkyLKk6xFxzo4uGjnzGI3d6G6sqMvtzXnN2pmysC7qvLvktpxDWDoLZfm8Pc/cUhklsvHRErp7GsaP51Hiqc4j7D4Zw7Zl3lRHsibds23HXyjjhNB6trSv2/bMLZW/fp3+EwlnaVf7eQmJ41upv31y+xrHms9dJqnDOYQ+T0UnlNzK53gBAADsoC+USVFTZyaFGdpwy0avPjL16rp6kTjFzbsmEOULZXkT5vMr9NFqTuIUjczmPNrNv0sUdsyv6NF5WwK3b5PbiSyRkAiVMWu/o2co12QxEiBHFu5TY85REftpLlQq7tsSykfzui63N3xp1s6WhedNcx0lt6wPoz21KXJUn6j1lpy6nOzHd0wpQRa2Dclol8SO+szte9sGXYe1UP0l6GRgk46Y5KWP0C//toQA3fVsPp6X7ajfmgympHJrcpsSaO6POb1NkttYXuV/03dZPb04c9BvS0jJMwAAgJ30hU3SsrrZXZy8GYfxy12ssLl3GzpYoiS3OslqsBOgy0PJok7Wv4t7kuVK8MVTxLIt2f3aNj8glKDjDiwAAHwHZuGdoL8IRHfA5ncFQc9acpvuUF4/uQX3BZLbS0F3YNMd5P6RDAAAADfDLARPhpvcNnf2jI/QAQCLpOdu02MH8pEEAAAAN8QsBAAAAAAA4BExCwEAAAAAAHhEzEIAAAAAAAAeEXEQX7+TX0cToZ+HzK+r6eoC/Jobo659VU/6HfVUJ17/Q4jXBqV2b+UdkvzsWkG8oqcpV/XD8Zz5We+WjOPg285D5nYg8iuXmjKC3nHKv8iE5xPBrRnHF44T9T272YebWLDRr7346TKXk6mxE1wL/cq2+OVBZ19Zs3vvS25s9fqET9wPO3Kb+irBlvjF1CVfAgJxQMqTynp5jUYoih0p0muXDVm+NUwGD4s/faOYFnX4WyS78WcoQ2Dg43TO4FeNuH2zeJ3xXDlTgGle5j4cF7RYdshEndNm3+qSLxzYFmT3+lJ+AG6FEV/IZ2nj4GQ2HH8EH26S261+rWPPZgZyij5T0oOYdS3oBgi977gki2H/iHuVtu3qvsnEc3pfShix1etT1cEnvotst925TSbmIYP8BcwQB5byqIyCuqdYr52RJMYgsbrwXQcwFv7W8VhO/jvX0yZVEmQwwbBDhnVP+mzvhCHggnvA8MUYB05fJ/oxhXBMP9oQf6xBJLeb/Xop1nmM5Gz7RNy6FhttS2WzfTNj+xJD46rY6vUJn7gPFuzu+lRE3ahb6hMIxEGnPKHcLQtqduVKZSXxpfNev15eRovPc4DFhc/jdXXKefJx/8tCwMewQyTrMwRsCuDWRUR7PgC3xogv2T/p8YLTa6gnX+UYEs/Z4ddn+/xYTtlnIw+4HLRXLdt2cd+MDHypsLjHOXXwiW/g7NwmoG059SWgEAekPPo4TtBcNai6JqiruvLMrWUQKuO29NEOfeRX2mnjeQ6wuPB5PEvOktiKc0N5fwUNxhh2IORddPm3shHdWYj2QAAGN8eIL+yfMaERn/qUmLXDr3Ncadjk746cugzr6PJYupZ1yrZL+yYx8qXCYI8b9WnJSWXwidtzjdxG2pyAXT3EgVoYzfM61qJhttZRmWUUece3lO9wgNF4qs5+HskbD9gYdgi0dwzqHYpNPgHAVTHWe/FP5bPZP3f5tVW3CU/OWoa7dFfCs5+qW943A0NfKucs7nFOHXziDtiY25iPkkx8CXSIA0N5RckbF1TBuBqlxdYZjqG+moU4dgBz4XvjefMrZd54wMawQw7U+koz6drQcWd3AG7BwBd1PCv+udOvrT43sSanuSmCC2Don/Hs4Nrd8yU+h8Y9L7mFT9wJZJuV3GZkX9eXgIE4sJRHZWQAT7Gu0tMCLosrJJ9lsdLfwdi1nTo34gQVa+F743nzK2XeeMDGsoNRJvRPAZcWOtuCXrGD5BbcHmO9j+JE9M+dfm31uYmZnC9pLMSuqxFvkgR9T9+WQFAZ2cK1u+9L6+eM6uAT38bu3IbKBo9Fur4EDMSBqbxsFPHsSCUbZqr0YLDQR2rTvueWPsKR73Wr78dN49axAt0YxsLncms8b37F6SyHAz6GHUxdy/Pa94GWd0Y25wNwLZz4YvkulQ2T1AW/pnZyrMhKnJnIKcrxTtPrM3zPbecTe/dNHUsHsdXrU5TDJ76PXbmNadsAx56uDrmKg1kIAAAAAADAI2IWAgAAAAAA8IiYhQAAAAAAADwi9eD//vd/AQAAAADAmcj8CtycegBjAAAAAACcB/Kpb6cewBgD6N253bdaQXw5OH9rE/oBB6P6v/o2+zfwLbLQt7ex7p8T2PZskE99O/XgmsYoP6Rg1O3lGn2aILn12RkIH9onwMPz8vrWvjJwk9/QK5r0a3iMV/w0yWb7mjB6NVBpS+/FFG1r3axPwpKFcMZzWWx3sASoXkAEnXS+Eux0qhcY8nWXDwmS27OhfGrsLwNI77lNQ16DfszS6zbbr+vzCfxzjXqA5HYAklsfJLfg4XgNyUj7Qn5KIs2Xp1tQTDCT2/Gd05gciXVCG1U6NyWwdcPhY/57cjfWlMUbz2e53UETICvGpF8By+8xpQuV7gLkwUByezacT523J8n178es7gdkaN1SnbYl/fjIo/vnGvWAjPFBVwX0cup8FVqNMniZtLzDYF250jnNVQMhA7FqJ5zAfGH2Up8Wo01CzmsgS05ui074iggkBoEwLja2j6y/G58AoCI3oaHvxjgi6iIifgwT0dHdVbuuyuL16cnijUeM1tikXUykc5uTve6fnT5Z8exXyyyG8SwyspFRJ+/EUXKd/aLZq9Q+Vn1F1HN/yra+nGPG6yjg+dJoDg/ERZLbwd7K1L6ddWv0QXZZvpB/XOoBGeM1B8yoMKUUrRB5TH+XK9fQx2v5OzEycNOOrijC2LHP6PhiEdFVinLyrU5jGjSPQ07hy0J/01hhbvG89XGfnskCJMhW9UKoln23TwAQkX6m6izflXGjlutkUyQddH5YIzWxCD5e7rKkduM7t4M+GUsWd7zJGluSM8XB2bp/RroYk3XW6IFiovYZTbbbKJ4NbaTryBbib22jImscj+u0Xzu2nci5yvJ4Rt0jxvTzk1vWg1UXkD7h7cG6jtrpC5vnpB6QMUgB5Ewy0BWlNAuWFJQDanZ+86ohYxrYaFfOi3XBAHkhWmx1mnq+MC7PaSqLqFsJXEfCW1iMcc49+AQ4MmnzKEnjyG8s/zb8tCNuIiKWisSCxy6+mjeqklCGZKXpi5F9ljJDFm884/x2jS22W1n3T0gXY0gvpIeoH7WviHYdfL4Vz7SuA62NBr6n66QcVh3bb1rnx90lNo03mMMDcXZyq/UQGcQsqb9AvFigc0hvVBfPr+2G8eW5qAfT5FYmtNLhuvN6TANH40mlZ3K/6eHp0C6W56Ah2m92GpYz/D/2G9q2AUPJQZAsen7KkQ7PQB/NR1mEOucufAIAIiSNMtmc+W7yU73xGHCc1DFE1vHFtkwovbtVMvYSlizeeN4am7WTdVSuzz0AXYzxdCbLDIbxbKuNGM9Ge+sCs7g7YriOzpDlUTg3uZ3esZYxy9IRlZG/dHXqwvp5qQfz5Jbr0kcF5e4BnTcJ9MNEZtFpaZFo4213mpScv4W+3ugOyIk+fhvPtaDnx04jzzky1sLKOitB0DjnPnwCgAyv6wXf7WLCiBIrQrzRfcjxRnWybFRnyrJxvMKknY6Dw36elz7GpH1F6n9PHGrimWcj096DOukruk9pvw22teKuSe7TXEfeeN4cHoizklutgxFFN70PljqpW10ny56PerCS3CalnDpFpqsM6xmgBBn4P+M5ndSuGv4l9B+/4RfGPok+UvvWGKM+I9E5RAIeybf0P5LsNLb80pEnS+qL6h73GaCrYS1ELouBTT9Tlbi5TwDA0J2oJkYZH787vmv6vO5TPULwepLPy+rx+ju3aWPy+0xlhiyB4XixbrDG3HbpbxkHO70cAIoxUndE0me2E8WplbubdJ4Tz3wbifHIFuJvbaPSB/mJtFfor9rPse1EziHsl+Y68nzJmcMDMU1uo35onqo8YOrYi1nhOOowtKl2GiW3od2D6nQj9WApuY1XCEmJsm1SWDAI1YWFnRxT1od2wRCpXgZi2S4oXBmnfKRBCWkXLEZ9BgaOI50m/t0Z3ZAl64Hr8LaEHtoQtR1qWQj05tX+jX0CgELYNKUvBR9tv3A18V3euGVZ7DP0I/ps46D0zdavaeOKb6rp6mZ9BkxZCGc8Z4257XJcjXIc7W0JlCRknTB1f5ntfzZ+PPNs5IwXbMT2s96WUI510uPYdh53bdx15PnSaA4PBOVTae6V/qLUSm7D+iN9dTr2Y1aqF7Ei2Cn2Yfht2+5pqQd8pQEAAAAAcBMoAQsJl1n3oCCf+nbqARkDAAAAAACch8yvwM0xCwEAAAAArsRLfGY0fUz+mI8egLvGLAQAAAAAAOARMQsBAAAAAAB4RMxCh/RRQv8Nv/sjvg0hfjtw4bUsW+herQEAaHmcOHENrhZ7wPOg314AALgkZuETQK/TsF8FRRvP9B1vXuDZmNwujbeRa/S5h72viKmb/38P/b69e7HDd/Docx/7bn0WsFKT1Lnv2rHHb+e82qlA/cq2vpxr6D736+XZSb/SVefd/PRpo5PM7Nv/SG6fmn3ryKnLflZvGKS1W95lq9qsvo7uiTELH5/4Drl+gyFWNmX3xdFIbhNBxyfxvry4eW8M1ncxjzN4dPnP4aHn7voubTDzpG04fyf2EFa7FG+yPCSbkTTGH1cI1LZrcnp0fV5AL8/Ja7j4eKsJSv7pU/uTiUU9kZ8guX1Odq8jp44TWEpm8/FHOLckt9KX4o+9HHWtFuoBKSq+SJxe/pvvIsggHA2Urwz6RR2Mktv0Vw3JYKfmSiYbgpwgX6nob0zqK5/GUMN2NFZuU8hG7q5uCGsTMu68UCDKfS2/cNobj/oLfUidtY6o9Ml2WJ7Dd2DobcIwQRgQf4WF5y1tEBj6i9J1Y6Or2cFZDyN/4XajtTKSZcqgzzz3xl/52NPLZO5mnIj9+fFl//wugfTdpK/WD3p636V2rA+m76dv16+b7pyg8/ji9aZ8JqfSp76TY/ap2a6XozDUm1xHHrPYM4oT3rqNJDtZMcTdUx28uBvliXVhzCf8MYbLsLqOnLpo51PQZ+qHLkzjD2NYyW2sP+5jYZl6kO42kHLzpmMu0lSvldbceQjntD+/m9qM+6IAEdrEPnKwiAtGJijpypn7H7Zjcnu5YTB+MLfq+/HqXOaymOPlgMAbDp0jP8Zq9ElXYXGM2n42h29hNagLzplHozPPXxpdW352eTs07WhM8bfvL6ne0uNMljGDPmnuskzab6IXLhvbjueZj7N9vPiyf34XoJEl6yvMP2EkhoHh/MtcVXmma6ftQJA8Rd8kT+qvbevLOfZBr0/FDr0cgqF/Jh0t+a27xrgfqjNilvQXtY6KnbRPZb+099R1ZnJqfzHncDSW15FTl/ugXyE7vZL/hf44TmgfIP8Mbe0E+jDUA14w5IRxcVpBtzisKMuLZhTMzTaEbseGKnXBOMXoAq/d6ByBG8zjFZZyCms81suCLOZ4W/oM6D78OXwHpDfDxhPOmkensx3+cg07GO2GdZ2/LK6VwLrunD7l+vbmLusy/vhqTDGWGV/Omt+5THw3bhR9/VA+Yy6Srh3rIbbLsUf4hTzf1YmUc4MM4z736eV5ST5dkg5LZxO9N+hzZ+tPxiy5Fru16cWQQYzcwkzOlTkcijPWkaxj3Ub75zXLOqX/R7+s/kkXtl1/x6IeuJtPwVg45nkSaqMSRkK3kwsjkB7gD0bKxqpXnH67cs4gyLgbBDuLLPPGW5DFHG/WZ+OoGSGXO4ebk3xijzz2PNpNRPpN87EaIXS4y1+uYQfdp1fX+YuzVlxZxjrbtf6mcs58MMlT4oTob5zcinkxei1enCTn1Hdp/kqW4fzjXOzYQ3TttK6JMl7Y3PIdVrOthttZfRZW+tyvl0MQkg5LP5vuTmobyTW2ty4yWO+BYYycMIy7Z8l5BC6wjriu6E/E1q6O2y2O+9zUA3bE69y5HW3Yop1jYFpczaKZtXNkGm8QG+TcIIs5HrWTutV9dnpvmW5yN+O8RbRpHlnXxT5SZ4plf7mGHfR4Xl3nL44PTmQZs9inN3dD177tkl9sSm5V/9dng+92dnLmT3MZ2T/Qt6O7M+355RwaVyYVOrnQsJyeDNM+z9PLYdBzn9i9Q/s89SfXwyhOeO0ig/WuaGKkR5bFjLuWnCtzOAQXWkdcJ3W7pU6WHYt64G4+BbVpZdIVq/d8l7XYuC8yfv9c0Un0QcG+Gsppx+iFJUh96XkFLAeJ9OPV8+aymONp3aqxdT/0bM2b0PlwDjcl2dVdvNEOvb8wZRM36jrYptGPlB08fykyGDa6kh1SO2s9zPwl6dTamGayjBn1SUkVl/f69DfQ8dwTPM98LPqjcaz4sn9+e3B8l+5uyfg1+Nhw6LvR3+zYQ1jt0tzzmKH96Hm5pu1EzqZPsq88V9DKc75enhI99+zfUk9pPWxIJtw1xuuH+tdxwlm3pa3hP+RXYg7L8rI/m+P1cq7N4dlJNti8jtw6Iz+hMrJhVxfGP5S+TeqBv/kkJeur/RrYSJlhscRy/UWDZGgrWMcFFxYAtdPfpmw+CqGP0WR7px3XjzeYMJfcVn7Lu8y7OTcT+6Pzw9w2fyPUGI/6k32Yzsn6pH5lYCXsOdwUkjnLV1GyZL11ejXaDnUvoG+IpvODP6k7D0N/ybpmfW7+5vEuOzjrwfUXZ61MZRkx7jNucFnGRp9TvRDW3ENZlk9yeqv92fGF2Du/Hbi+GzZiSvhKubLfzHdpXtaadNs5/iLQiagr554+z9HLU0Nzlx/NBz00/kl+P1q3A2ZrzIkTw3Ub8da7s6c6eHE3+Xuqw9sSMrvXkVOn/YPLgh9a4101fj4GZuHx0IEGPA+wLQAAXB9Otqw6AG6LWQjA84DkFgAArgLdDU53iV/ipzIH/ygc3A9mIQDPA5JbAAC4EvQYBH8UjjgL7gazEAAAAAAAgEfELAQAAAAAAOARMQsd0kcQK99s/26ab5Ru+RbrDOtbi+CJeRyfB/fBNPYghgA8LgXANTELnwB6NYvxOp5A+zqdAV7g2bgxLY23kWv0uYe9r5apm/99fAHhXvQJbkhY4/VVZunVObHceK1OpHwLfPaKrXHsKWyKIc54oznMaNqFPhvfH4w31ctzk37di+ctdLZXL0hunxp3j3PXrb/+6k2W/NpFatv5oIoTx8QsfHwocJyR3Lrf+ty0MV0ncbqLZIwWaFhYrIe4mDcG67uYR+Be5AC3gu/Gs835WJ/HdfUObIoN2e9pDYSNpLk768SewoYYMh5vyxwkaVMs7V7op2Q3zK/Q6uW5CTo6vYl3Z6ef313xlyHkJ0hun55+b/HX7XD9cQLLiXA4/gh+VpJb6Uvxxx+OsjaH1ANS1EdQMt2B4ysHaZSYvOQrg35RBwMN72akxX5q7vJlQ5DxaMxQ1r+our0r2Bhq2C45SpKDUc7RYG1Cxp0XCkS5r+UXVXvjUX+hD6mz1hGVPtkOy3P4DhbuWCm2J5UDX8r6bHQvfGyo64k+TZ+P/flrZWg/cCf0vjr0RelLbjsn9tC55DfsDyqG0IZW2kg/dsebzUH5YElm1VohwhzX+hQ0ejkeZ+vFi0u53txXtP268QYxMtS5e6rD2D8Djl8P53Agej/ZuaajnU9Bn6meflgj/qCGldzG+tHF12GoB+luQwrQVZnaIVO9VlpztRHO6X9+11gUpS8yqnpHXlwwYvHRlXJZHE47JreXTsIMg1Kmr+/Hq3OZy2KOlwMCbzh0jvwYq9EnXYXFMWr72Ry+hdWgLtg+j4EvkT5lmZRlomsuG8vBNs7HxbdSeWyn5j6zH/hu5LqVx6Pz8rH2M4JsL/2p+Ic4pxlPx5CWxj/d8fw5ND5IYxZ/dPpcmV9kpK+DMFzTG/QS/aTar41Lvb+U+KRtpGIPtzVj5HBPXWcmZx3XmcOB6PcWqRd5HP721l+2M/2C2emV/C+cp+pKO/JPfbF0POoBK5WccKhoaQguy4vGSiQTRhtCt2NDlbpgnOIAAq/d6ByBn8gYTmGNx3pZkMUcb0ufAd2HP4fvgPRm2HjC9nk4viR9dWYj5de+HGpMMZa5VhbsB+6AnKDwHSlKBPtzlC3ZzrE8xwm95g37d2WGDxa073rjjeZgyVDgtZr9kZIc6oP6nI3HuP0/KykOJF3TnVFjPW/Riz5X213XFZuHOuk7sl3E228He+oWZnKuzOFAmLHfW7ekP7aVXH+s23hO7lPW5b7YP814dizqAS+YXcltd56E2mRDyXLdjo2Xj9MD/MFI2Vil/aRdOWcQZNxEg51FlnnjLchiO/ekz8ZRM0Ku+0qWkk/skceeR7uJtH6zw5f22qigfF70N05uhd2YAwb2+4USvOBH8u6JcWepu9ukfYkgf5K2jfZXsUe3Uz7YfFxMSF8ajufMwWonCfVlc6WPp/njTXe8Wtbp5WjkC4Kpv3h4PrG3LjKIkYHhnjph2T83yXkM+r1l47olvdH6K/oT+1FXx+3SOYdeo/KAlboruR0kkonBYtPt2FDynAwtrmbRzNo5Mo0TmQ1ybpDFHI/aSd3qPju9t/jJ2C05bxFtn4djo1V9yrqML4fyedHfMLlV/YM7w7KRXrt0ThdDaGNqyzrfsdrpMu2foa74dOOfznjeHEzZx9Q57JzfEVnyFwdtP8MnSl9yLK9dZBAjFc2e6pFlMf3TknNlDgfCXD9a70U3zvrr7CzaeXWy7FjUA1b45uQ2kK5Yjee78rG92LgvMnz/XNFJ9EEGroZy2jF6YQlSX3peActBIv149by5LOZ4WrdqbN0PPVvzJnQ+nMNNSXbtdC+Jduj9hSkL16izSWP2vpSvhmO5stFE14SvT7ZxPhb90TjWWpnZD3wz0S+Dv6i7J3IzSD7Rbw7JtvX51eljTJE+TjT+SedbvhsYjjeZQ9OO+hXx9PWtfvOffFPKO5vfSC9PDd3xFPpjezZrfKteyH4yDjVxqfeXOpYT60pb5ZME2VLMYVne6Gcj/3T82qjbFuufA9JzM+8t61auP2PfimXUrqtLfR5R34J64G/YtKCCARQ1aSFlhsUSy8U3c7ludCVJxgsLgNrN3pbQvEPVacf1o+Q2ziW3ld+ML/Nuzs3E/uj8Pd8INcaj/mQfpnOyPqlfGVgJew43hWTO8lWULFlvnV6NtkPdN4x9KQbr2Feo13f6XV0Tlj4HPh8SA3+tEDP7gW8nJCzxjRemjcj2g5jlxrpA9HljTea1YMUQ+uYz99f4bsQZz52D0y7IUvy9+9a8Nz9PL89MSM7kfhR0sO4vA2ZxSdio3xsn/jKMkc6e6uD6p+PX3hyeHm+P27NurX2LykJbayzsOXbh8dCBBgAAAADrcLJl1QFwW8xCAAAAAAAXuhuc7hIf99EDcJeYhQAAAAAAE+gxCP4oHJ9+grvBLAQAAAAAAOARMQsBAAAAAAB4RMxCh/QRxNo327+X5hull/x2r/WtRXBfSBvhy4JAs8Unbr3erzHeJfrEOros0CcA18QsfALo1Sz2K7K6985ZeIFn40axNN5GrtHnHva+WqZeeFzpCwhIboHH1ZLb8Wu0ln1ejxdkra+pC33uWS/dHOjVViGGsDwr33A/+DpKv+5l2IF0m/XYMNMp4tJTs2uPm/jS0Acjek1n3+r6bOPSE2MWPj4UOM5Ibt1vfXYbhc81EtFr9LkZ2nTFu/TiYt4YrK82D2kjbCJAs8UnNqz3FDfymqD1ETYS/anR1Oeb8dK7lstmFH/2dccnUWoOeq3Spjnt89DrKOg9JAvl4j3//K79Ceb4PbMNiEuH4Lw9TvqS74MUeygJbtY01en4Fdod5F3V9eAjKDG+WJhe6p3vPkijxICYs/9+UY/vWLCBTs1dvqxs2gDylUj/our2rmBjjGE7Giu3KWRDkpGbcsJKgI27vhSIcl/LL6r2xsuBTeqsdTalT7bD8hy+g/Hd8hFbF/7MJ0wbZV0nuyT/uEpCDR4Htf66b3mPfCkyWJuG/1v+bfr8ku9mQgyo7UeyBIZzmK3TQZ8znR2MYezSycQIpU/S9dIep32iG49iHNmt32/d+OkQEyfVV6kf+lmqG+3vR2HrHtcw8aXat7OmjT7Ino/waOmZ1IN0p1Ns/qZiU71WTHPHIpzT//yusShKX2Qc9Y68uGDE4qOrlLI4nHZMbm8Ze+ZsfX0/Xp3LXBZzvBwQ+CKAzpEfYzX6pCutOEZtP5vDt7Aa1AWb5rHRJ4os1C7+Tefcod7A7WnWn1633np31mbxs3RehNaE+nh6U3yZ9DmUZaHPmlSFPsQdH3d+Q50dDCMmJ1jvutyg0afeA3r7FV1rn+jibmrblgXieKP4uc5MzjquM4cDsX+vnviS9EFv79V11E5fSD0n9YAXDDlhCWadwgyF50Xj3gmwjKTbyY0g1gUD5IXf4LUbnSPwnc0wvDUe62VBFnO8LX0GdB/7F8y1IL05C3HApnlEvWzwCanPj1MMBEvPFoLnx/KXJvbsWJvRz8J58ZwcQ1bigTdeWVf5fEpIgh/HPmeyuHMQfeb4bLYLuH0eaj0lPaULAnWXnDH0N2Rqo4Guqa74R66Tx+5+O4ifW5jJuTKHA7Fpj5No/UUGPqh8IF5k0Dmkb6qL59d2dPFa+3xa6sFZyW13noTaqISR0O2UgdLD08EQ2SD1itNvV87pHCPhOpu1AL3xFmQxx5v12ThjRsi1e8FcheQTe+Sx59EuYOk3u3wi6/Mj3qmyfQIcjJm/THzJXJu6HbdV8aTzeW+8XE8XZnEc+ij5Lfe5RRZvflx/Tp9HI19k6Ni16e7kFhut1kUG+21gGD8nNI8zEBeR8xjs3aunviR90NItldG6Nf1jg58+LvWAHfE6d26NhaTbsTHkORlaXM2imbVzZBo72wY5N8hijkftpG51n53eW/YumMtz3kI5Zx5TnzD0Ga9oBz4GDoS3bhd9qfRVoLusol3A8u+uzBvPoLT3ZHH7DHLqdjz/rX0eeS3p+Wv9zNC6ljbydO21iwz2MUUTPz2yLKW/mZwrczgQu/Y4rbsRRad97Cl10ia6TpY9H/WAF8zm5DaQrjL4ua0X45lba7FxX2T4/rmik+iDHKQaw2nHOM6R+tLzClhOEOnHq+fNZTHH07pVY+t+XkJ9/OYjH4/mcFOSXd2FG+3Q+wuzaeFv9IkmyBbd7nt8AjwZxS+rv1Q/9Na7vzZTHT+vGvzVuDvW+/xkvLf6DWkaS8a1sSyzOXzkunou9zPs09XZk0N3PLs9TempiUcLNHEpEPRcbdTbr45FMYz9qrdtamvfpBnHT4do9+Bz5nien3lzOA7DPa6sJ1UeMG0z8cGo+9Cm2jcnsI1f5XbHsEU98JPblBQ0H1U1hiGFBYPEchk4c93oSpIWXDAQtdPfpmw+CvngxTVvx/XjKx+6c5H7VRvFMOnJjhjntvkbocZ41J/sw3RA1if1K52asOdwU0jmLF9FyZL11unVaDvUvWDmE6aNLF0bSQc4ENknht/8H/lSxFubThz0fN4bL9SVtd59w92RxZ2DjB/eHETdTGdPTUjOZOwJOm11RvvjxpiS9Vn60HuAsHu/N1Yfi4+pNLYN9hvst278dKCLoeF4np85c3h6Zntc1lu/7418aeaDVB/KuJ5jhSFH2+5pMQuPhw40AAAAAFiHEqmQOJl1ANwWsxAAAAAAwIXuBqe7jMd99ADcJWYhAAAAAMAEegyCP+7Gp5/gbjALAQAAAAAAeETMQgAAAAAAAB4Rs9AhfQSx8s3276b5Runit0KX0N9qPShVvwHoAzwSW75Aeuv1fo3xLtEnvnR7WaBPAK6JWfgE0Os07FdkDd87J/ECz8aNYmm8jVyjz93s3DifXi/gfrlacitfo9W+Cox8ky8GXR/V4wVZ62u7Qp97/LubQ/vaIHo1UNdGc/BkLP26l2EH0m3WY8NMp0hun5rl9S6Z+NLQByN6TWff6vps49ITYxY+PhQ4zkhu3W99dhuFz9MncRv1wTy9XsD9cqXkNsWN+l7YtR9xUDTj0UU6fVKWz48/ubnjkyg1B5KhOQ6b5rTPQydjQe8hWSjvhc0/fWp/gjl+z2wDkttDcN6eJH3J90GKPc2PONCapjodv0K7ze9kfkzqwUdQ4gddFdDLf/lF3cIoMSDm7L9f1OM7FmygU/MC6axs2gDylUj/our2hdONMYbtaKzcppANSUZuygkrATbu+lIgyn0tv6jaGy8HNqmz1tmUPtkOy3O4IXrxZOJiYxll/XQOg7kHhj5xj3oB94taf923vL31PvTPPm5YG5u52Y3Gy3I2sgVfr+3Ha2U8h/GnWolBnzOdHYxh0jKIhx1Kn6TrpT1O+0Q3XrDfYL9191SHYSwnhn6W6kb7+1E4K7md+FLt21nTRh9kz0d4tPRM6kG600kLIzgiKcxUbKrXimnuWIRz+p/fNRZF6YuMo96RFxeMWHx0lVIWh9OOye0tY8+cra/vx6tzmctijpcDAl8E0DnyY6xGn3SlFceo7WdzuCkLwVzPj8usOQzn7vpE4q70Au6XZv3pdeut94l/6nVAa2Pq9854kz6Hsiz0WZOq0Ie44+POb6izg9HoWsJ61+UGjT51jHT2Fe0TXfxNbbuYHMfz4+cKMznruM4cDsT+PWniS9IHvT1Y11E7fSH1nNQDXjDkhCWYdQozFJ4XjXsnwDKSbic3glgXDJAXfoPXbnSOwHc2w/DWeKyXBVnM8bb0GdB97F8wV0DKPsI4Z0kvgXJerBv4ROau9ALuF2/d7l2bVEfnsZ9SDJH96vO5zBsvxiOKnfl8SkhCLI19zmRx5yD6zPHZbBdw+9Rx96lJekoXBOouOWPob8jURgNdU13xj1wnj9391o+fS8zkXJnDgdi9J2n9RQY+qHwgXmTQOaRvqovn13Z08Vr7fFrqwVnJbXeehNqohJHQ7ZSB0sPTwRDZIPWK029XzukcI+E6m7UAvfEWZDHHm/XZOGNGyLV7wVwDS/+B5iMwYlUvsg2T5z70icxd6QXcL3vXtOefuh23VfGk81FvvFxPd2jiOPRRclhXZTwtB2HJ4s2P68/p82jkiwwdazbdndxio9W6yGC/Dczi54hhLD9LzmOwd0+a+pL0QUu3VEbr1vSPDX76uNQDdsTr3LkdJLeLV3a0uJpFM2vnyDR2tg1ybpBlmMRJ3eo+O7233FUSJ2Vnsl6KLo1zlvTi0PhEKbsjvYD7xVu3Vh37meufdJe1jTmWP3Zl3ngGpb0ni9snfZyp2vH8t/Y5iNeHQM9f62eG1rW0kadrr11knNxKrPhpkmUxY7kl58ocDsSuPUnrbkTRaR97Sp20ia6TZc9HPeAFszm5DaSrDH5u68V45tZabNwXGb5/rugk+iAHqcZw2jGOc6S+9LwClhNE+vHqeXNZzPG0btXYup+XUB+/+cjHozl8B5auuSzaXOssMZrDcO6uT8iyO9ELuF+if47Wrbfe/bWZ6vh51eCvS58uTMZ7q9+QprHkWhvLMpvDR66r53I/wz5dnT05dMez29OUnox45EL6lDEx6LnaqLdfHUs+OtfbNrW1b9LM4qdJtPsolnt+5s3hOPTrPVPWkyoPmLaZ+GDUfWhT7ZsT2Mavcrtj2KIe+Mltevar+aiqMQwpLBgklsvAmetGV5K04IKBqJ3+NmXzUcgHL655O64fJbfpzkXuV20UlqNFsiPGuW3+RqgxHvUn+zAdkPVJ/UqnJuw5fBe0WWpZalmwvXmXYDSH8dxdn4jcl17AnZLXH/tZt2699e6uTScO0hrPbZgSbxbjS/8Nd0cWdw5ynXhzEHUznT01ITmTsSfotNVZ0GcoM/e4EVmfpQ+9Bwi793tj9bE+tgb7Dfbbefy0cWO552fOHJ4eb70TWW99zjHypZkPUn0o43qOFYYcbbunxSw8HjrQAAAAAGAdSqRC4mTWAXBbzEIAAAAAABe6G5zuMh730QNwl5iFAAAAAAAT6DEI/rgbn36Cu8EsBAAAAAAA4BExCwEAYDveP+t8AAAA4PL0hT9/fH59/fuV+PW7q78ffn+9k4z//Pn6adaP+Pn15588v8Dnj5/GOefDenz/267fQ2Obf9+/fhvn7If1cul+z+Dv9zjXa9noEPz15+vzaj6j8P5Z5wMAAACXpy+8RlLm8fsXbbqfX3/+suvHGMltToY0TXJ0o4RpVY8lYV2+kHCS0JDIvJfE/TOMvWWOG5PbFV0vkexo6mmjrfb7EuPIckHOl7PH79OzLdVdKOn1/lnnAwAAAJenL7yb5Pav32HTrXcqP0Pyt+0ObZ3L3Sa38q7a2cltm+xfI4HyMHW9QrTHILm6dXLryXJB7iW5/fnjXdzV7es34/2zzgcAAAAuT184TMo40fhHbIh817S7Yyjajepyf5pUnxK1zx+c0KbNmZOctJFnRo8lcOJY6nPyp6AxZN9t+5ws7Jhf0eOvqi89RpxHSOBjfUxu23kWpCyj5Jbnm5NkaceZLFyf4H5XZJFloe3IFkP6MWrCFXSZL25SPc+7Qhc8sZ3rS067BilL/psvroLPs41j2zxe8QNeGzyPcGG23eep3fjO++9fwkZBnqL/WZ8R1oHwmWyz9+j/VP7z6/ePP7Ge/OHzV/jbTJQdvH/W+QAAAMDl6QtlUtTUlU2UN9a0Gf507xjO7yZaZVEGkexR/Sf9v0lK2r5rOVHbyX4jOhEJRBl0whPPo01/3/xKwjiaO/evklJfFjo2EpWIJUs6ZypLpO93Lgvh6HqG7kslyUnO1lZt29ZP7XkpjHa1nGURc/o7J4Eh0az6ybrOukn65XFzHZ0Xj3md5HECtpyt/Zo+s8wyef4Tks95n4zhM1nXn0G2d/1Ygk6yy0XmBO+fdT4AAABwefpCToRGyW2XaOhyeezV5fb9ppw2Yho/yhI3+7w5N4lWmwzU8jqHTlbCkKGMw3ez5Ng759fJ0JybZI9/q+TWlYX6sRIVRiUlf7INfVm4fd/vXBaj72XSeE07R5+13eDcwJbktu1Ty8K6oL6SrWpym/qPY0U95HLWiSdzxpTTm3v+m8b4/Zfd7+bkNtA+lkBJrO47+HEYO15YRlnUhY7G+2edDwAAAFyevpCTldXktjtfnOfVcft+U+ZkItXxubGvleSWk0VdzljziGVh4891NE6UK/x/7/ymdSyfSm49WWL9IFGR/VC/cnxPltLe6ncmy0zXHrFtOwdfzp9h7FQvkXPofYmYt+tlkYmsndwmWWs999fNwcCSk9tpeO5/mjmIRx2cPisDnyl1719/QqJLfbf9UnJbL5iQ3AIAAHgA+sLh5mwmREa5PPbqcvt+Uz4nuW0TkHquwJpHTm7eQwLx/iP8nZ+xnM7BqWM9enWaeK4nS5Y36Ww9MfRk4fZmAuTKsqBrhziHxp4BR5/179zGmIOZ4K22a2SRc7OT26SbUE56ifW5rdG/xpOzW3cK/iRBX1CYfRYs24YLlXgu1VG5SNLD3OQnAHgsAQAAwAPRF3ZJEjPctNsks91kvbpEX5Y2YhonyhLb5s15ktx2SZyFOY/cV5SD/2Yd7Jsfy+LNPZKTpDo3T5ZE6kvZiJOe0A+NJ+24JouRADmyLOl6RJyzo4tGzjxGYze6GyvqcntzXrN2piysizrvLrkt5xCWzkJZPm/PM7dURolsfLSE7p6G8eN5lHiq8wi7T8awbZk31ZGsSfdsW3yhDAAAwIPSF8qkqKkzk8IMbbhlo1cfmXp1Xb1InOLmXROI8oWyvAnz+RX6aDUncYpGZnMe7ebfJQo75lf06Lwtgdu3ye1ElkhIhMqYtd/RM5RrshgJkCML96kx56iI/TQXKhX3bQnlo3ldl9sbvjRrZ8vC86a5jpJb1ofRntoUOapP1HpLTl1O9uM7ppQgC9uGZLRLYkd95va9bYOuw1qo/hJ0MrDJMt4/63wAAADg8vSFTdJy7ma3m7wZh/HLXaywuXcbOliiJLc6yWqwE6DLQ8miTta/i3uS5UrwxVPEsi3Z/UI29/5Z5wMAAACXxyy8E/QXgegO2PyuIOhZS27THcrrJ7fgvkByCwAA4KkwC8GT4Sa3zZ094yN0AFbx/lnnAwAAAJfHLAQAAAAAAOARMQsBAAAAAAB4RMxCAAAAAAAAHhGzEAAAAAAAgAfjf77+H2uQuckvE7qtAAAAAElFTkSuQmCC" alt="" />

镜像创建完毕我们就可以直接运行了:

> docker run -d -p : mvctest.web

上面的指令就是运行我们新打包的镜像,并通过-p参数映射容器的5000到宿主机的80端口,其中-d参数告诉docker以后台任务形式运行镜像。因为80是默认的web端口,所以我们通过浏览器直接访问ip即可访问到我们容器中运行的MVC网站

至此,我们借助Docker就完美的完成了.NET Core项目的容器化部署,后续我们将镜像部署在其它的机器上

五、推送镜像到仓库


请自行到Docker Hub注册个账号,然后我们把本地打包的镜像放到自己账号下的仓库下

1、注册完毕后,执行命令

> docker login

aaarticlea/png;base64,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" alt="" />

2、再执行命令

> docker push

aaarticlea/png;base64,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" alt="" />

推送失败,提示我们的镜像命名不符规范。原来在推送之前要把镜像按<user>/<repo>格式来命名。那如何重命名呢,我们用打标签的方式重命名

以上信息表示推送成功了,查看自己的仓库,如下图:

最后我们换一台机器,我们直接执行以下命令,就完成了多重部署

> docker run -p : /mvcdemo.web

aaarticlea/png;base64,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" alt="" />

以上自己的镜像仓库做好了,是不是很方便,如果结合业务,会发现需要的镜像会比较多,分布式部署容器还要一个个启动容器?不,其它我们还可以通过配置文件来一键部署镜像与容器,一下篇我们会讲到

六、Docker常用命令


1、容器相关操作

    > docker ps    //查看当前正在运行的容器
> docker ps -a //查看所有容器的状态
> docker start/stop id/name //启动/停止某个容器
> docker attach id //进入某个容器(使用exit退出后容器也跟着停止运行)
> docker rm id/name //删除某个容器,若正在运行,需要先停止
> docker rm $(docker ps -a -q) //删除已经停止的容器
> docker logs -f hello-world //查看指定容器的日志记录

> docker run -it --name hello_001 hello-world    //创建一个容器,并指定标签

-i:允许我们对容器内的 (STDIN) 进行交互

-t:在新容器内指定一个伪终端或终端

--name:是给容器起一个名字,可省略,省略的话docker会随机产生一个名字

 
2、镜像相关操作

    > docker images    //查看本地镜像
> docker rmi id/name //删除某个镜像,如果不指定tag,默认删除的是latest标签
> docker rmi $(docker images -q) //删除所有镜像,小心
> docker rmi $(docker images -f "dangling=true" -q) //删除所有无名称镜像(可能是构建过程中产生的中间镜像)
> docker start/stop id/name //启动/停止某个容器
> docker attach id //进入某个容器(使用exit退出后容器也跟着停止运行)

通过ID tag镜像,下面是tag一个id为0e5574283393的本地镜像到“fedora”存储库,tag名称version1.0

> docker tag 0e5574283393 fedora/httpd:version1.0

通过名称tag镜像, 使用名称“httpd” tag本地镜像到存储库”fedora”,且其tag名为version1.0

> docker tag httpd fedora/httpd:version1.0

注意由于引用httpd的tag名称没有指定,默认引用httpd:latest

通过名称和tag名称 tag一个镜像,为名称为httpd和tag名称为test的本地镜像做标签,其存储库为fedora,标签名为version1.0.test

> docker tag httpd:test fedora/httpd:version1.0.test

tag一个镜像到私有的存储库, 推送一个镜像到一个私有的registry,而不是公共的docker registry,必须指定一个registry主机名和端口来tag此镜像

> docker tag 0e5574283393 myregistryhost:5000/fedora/httpd:version1.0

3、卸载 Docker CE

a、卸载Docker包

> yum remove docker-ce

b、主机上的images, containers, volumes或自定义配置文件不会自动删除。 删除所有mages, containers, volumes命令

>  rm -rf /var/lib/docker

六、额外知识普及


1、docker官方镜像库地址

https://hub.docker.com/r/microsoft/dotnet/

2、microsoft/dotnet 镜像版本之间的区别

a、microsoft/dotnet:<version>-sdk(microsoft/dotnet:2.1-sdk)

此映像包含带有 .NET Core 和命令行工具 (CLI) 的 .NET Core SDK。 此映像将映射到开发方案。 可使用此映像进行本地开发、调试和单元测试。 此映像还可用于生成方案。 使用 microsoft/dotnet:sdk 始终都提供最新版本。

b、microsoft/dotnet:<version>-runtime(microsoft/dotnet:2.1-runtime)

此映像包含 .NET Core(运行时和库),并且针对在生产环境中运行 .NET Core 应用进行了优化。

c、microsoft/dotnet:<version>-runtime-deps

runtime-deps 映像包括具有 .NET Core 所需的所有本机依赖项的操作系统。 此映像适用于独立应用程序。

3、镜像加速

鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com。

新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 来配置 Daemon。

请在该配置文件中加入(没有该文件的话,请先建一个):

{

"registry-mirrors": ["http://hub-mirror.c.163.com"]

}

#刷新配置文件并重启docker

systemctl daemon-reload

systemctl restart docker

**********如果使用aliyun,需要登陆自己的阿里云账户获取自己的镜像地址************

下篇文章我们会更简单的来实现docker的安装与部署以及每个容器自起动等操作。

比如不需要依赖dockerfile文件,所有操作一条命令来搞定,是不是觉得很简单,下篇我们来一点点的为您介绍。

 

作者:Dylan

公众号:dotNET名人堂(sharecore)

微信:tangguo_9669

QQ:.NET Core 技术交流(18362376)

出处:https://www.cnblogs.com/hailang8/

本文文章版权归作者和博客园共有,未经作者同意不得随意转载,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题或建议,请与我联系。
 
 

.NETCore Docker实现容器化与私有镜像仓库管理的更多相关文章

  1. .NETCore 实现容器化Docker与私有镜像仓库管理

    原文:.NETCore 实现容器化Docker与私有镜像仓库管理 一.Docker介绍 Docker是用Go语言编写基于Linux操作系统的一些特性开发的,其提供了操作系统级别的抽象,是一种容器管理技 ...

  2. Asp.NetCore轻松学-使用Docker进行容器化托管

    前言 没有 docker 部署的程序是不完整的,在写了 IIS/Centos/Supervisor 3篇托管介绍文章后,终于来到了容器化部署,博客园里面有关于 docker 部署的文章比比皆是,作为硬 ...

  3. 在Docker Hub上你可以很轻松下载到大量已经容器化的应用镜像,即拉即用——daocloud国内镜像加速

    Docker之所以这么吸引人,除了它的新颖的技术外,围绕官方Registry(Docker Hub)的生态圈也是相当吸引人眼球的地方. 在Docker Hub上你可以很轻松下载到大量已经容器化的应用镜 ...

  4. ASP.NET Core使用Docker进行容器化托管和部署

    一.课程介绍 人生苦短,我用.NET Core!今天给大家分享一下Asp.Net Core以Docker进行容器化部署托管,本课程并不是完完全全的零基础Docker入门教学,课程知识点难免有没覆盖全面 ...

  5. Docker之容器化学习之路v20.10.3

    Docker概述 **本人博客网站 **IT小神 www.itxiaoshen.com Docker文档官网 Docker是一个用于开发.发布和运行应用程序的开放平台.Docker使您能够将应用程序与 ...

  6. Asp.Net Core 使用Docker进行容器化部署(一)

    前几篇文章介绍了Liunx下的环境搭建,今天来分享一下.Net Core在Liunx上的部署. 我采用的方案是使用Dokcer作为运行虚拟机,Nginx作为Http服务器来进行反向代理,你可以理解为D ...

  7. Docker应用容器化

    Docker 的核心思想就是如何将应用整合到容器中,并且能在容器中实际运行. 将应用整合到容器中并且运行起来的这个过程,称为“容器化”(Containerizing),有时也叫作“Docker化”(D ...

  8. 【Docker】(4)搭建私有镜像仓库

    [Docker](4)搭建私有镜像仓库 说明 1. 这里是通过阿里云,搭建Docker私有镜像仓库. 2. 这里打包的镜像是从官网拉下来的,并不是自己项目创建的新镜像,主要测试功能 一.搭建过程 首先 ...

  9. docker应用容器化准则—12 factor

    在云的时代,越来越多的传统应用需要迁移到云环境下,新应用也要求能适应云的架构设计和开发模式.而12-factor提供了一套标准的云原生应用开发的最佳原则. 在容器云项目中应用容器化主要参考12-Fac ...

随机推荐

  1. Java并发-CopyOnWriteArrayList

    前言 今天我们一起学习下java.util.concurrent并发包里的CopyOnWriteArrayList工具类.当有多个线程可能同时遍历.修改某个公共数组时候,如果不希望因使用synchro ...

  2. Word公式显示为{EMBED Equation.DSMT4}

    具体问题表现为: 添加了Mathtype公式后显示为{EMBED Equation.DSMT4}, 超链接显示为大花括号和描述文本, 页码显示为​ page... 具体解决方法如下,(以Office2 ...

  3. LiteDB源码解析系列(4)跳表基本原理

    LitDB里面索引的数据结构是用跳表来实现的,我知道的开源项目中使用跳表的还包括Redis,大家可以上网搜索关于Redis的跳表功能的实现.在这一章,我将结合LiteDB中的示例来讲解跳表. 1.跳表 ...

  4. 浏览器和Node 中的Event Loop

    前言 js与生俱来的就是单线程无阻塞的脚本语言. 作为单线程语言,js代码执行时都只有一个主线程执行任务. 无阻塞的实现依赖于我们要谈的事件循环.eventloop的规范是真的苦涩难懂,仅仅要理解的话 ...

  5. python课堂整理20----生产者消费者模型

    一.实现功能:店铺生产包子,消费者来吃 import time def producter(): ret = [] for i in range(10): time.sleep(0.1) ret.ap ...

  6. AQS原理浅析

    锁是最常用的同步方法之一,在高并发的环境下激烈的锁竞争会导致程序的性能下降,所以我们自然有必要深入的学习一下锁的相关知识. java的内置锁一直都是备受争议的,在JDK 1.6之前,synchroni ...

  7. js 实现 联动

    使用jQuery实现联动效果 应用场景:收货地址 1.准备三个下拉框 <select class="changeArea" id='province'> <opt ...

  8. Letters Shop

    B. Letters Shop time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  9. xpath爬虫实例,爬取图片网站百度盘地址和提取码

    某套图网站,套图以封面形式展现在页面,需要依次点击套图,点击广告盘链接,最后到达百度网盘展示页面. 这一过程通过爬虫来实现,收集百度网盘地址和提取码,采用xpath爬虫技术 1.首先分析图片列表页,该 ...

  10. 最简单的DWR例子

    什么是DWR? DWR是一个Open Source的 java项目.DWR可以让JavaScript调用运行在Web服务器里面的JAVA程序.简单一点或者专业一点就是Easy AJAX for JAV ...