蓝色神韵 發表於 2015-6-12 14:27:00

Docker的安装使用-第1章

<p>Docker的安装</p>
<h2 align="left">1.1 环境说明</h2>
<p align="left">操作系统: Red Hat Enterprise Linux Server release 7.1</p>
<p align="left">软件环境: 系统已经配置了yum安装源</p>
<p align="left">软件版本: docker-1.5.0-28.el7.centos.x86_64.rpm</p>
<h2 align="left">1.2 安装过程</h2>
<p align="left">#使用root用户</p>
<p align="left">su root</p>
<p align="left">#检查是否已安装</p>
<p align="left"># rpm -qa | grep ncurses docker</p>
<p align="left">没有那个文件或目录就进行以下安装步骤:</p>
<p align="left"># 进入安装目录</p>
<p align="left">cd /usr/local/</p>
<p align="left">#不检查密钥方式安装</p>
<p align="left">yum -y install docker –nogpgcheck</p>
<p align="left">&nbsp;</p>
<p align="left">#启动</p>
<p align="left">systemctl start docker</p>
<p align="left">&nbsp;</p>
<p align="left">#是否运行</p>
<p align="left">docker info</p>
<p align="left">&nbsp;</p>
<p align="left">以上信息说明运行正常,安装结束。</p>
<p align="left">&nbsp;</p>
<h1 align="left">1 Docker的使用</h1>
<h2 align="left">1.1 制作tomcat的镜像</h2>
<p align="left"><strong>目的:</strong>基于最小的centos操作系统运行tomcat7服务器对外提供服务,这样可以最小化服务器资源占用。</p>
<p align="left"><strong>软件:</strong>jdk-7u80-linux-x64.gz、apache-tomcat-7.0.61.tar.gz</p>
<p align="left"><strong>操作过程</strong></p>
<p align="left"><strong>1.&nbsp;</strong><strong>获取centos</strong><strong>最新稳定版镜像。</strong></p>
<p align="left">#查看所有镜像</p>
<p align="left">docker images</p>
<p align="left">&nbsp;</p>
<p align="left">此时没有任何镜像文件。</p>
<p align="left">#获取最新镜像</p>
<p align="left">docker pull centos:latest</p>
<p align="left">&nbsp;</p>
<p align="left">#再次查看所有镜像(镜像列表,注意看IMAGE ID 是否重复)</p>
<p align="left">docker images</p>
<p align="left">&nbsp;</p>
<p align="left">看到了3行信息,注意看IMAGE ID列,都是一样的,说明是一个文件的不同TAG而已。接下来我们使用这个镜像制作我们自己要使用的镜像文件。</p>
<p align="left"><strong>1. </strong><strong>启动容器</strong></p>
<p align="left">容器是在镜像的基础上来运行的,一旦容器启动了,我们就可以登录到容器中,安装自己所需的软件或应用程序。既然镜像已经下载到本地,那么如何启动容器呢?</p>
<p align="left">启动容器命令:docker run &lt;相关参数&gt; &lt;镜像 ID&gt; &lt;初始命令&gt;</p>
<p align="left">参数说明:</p>
<p align="left">#&nbsp; -i:表示以“交互模式”运行容器</p>
<p align="left">#&nbsp; -t:表示容器启动后会进入其命令行</p>
<p align="left">#&nbsp; -v:表示需要将本地哪个目录挂载到容器中,格式:-v &lt;宿主机目录&gt;:&lt;容器目录&gt;</p>
<p align="left">#&nbsp; “/bin/bash”,表示什么也不做,只进入命令行</p>
<p align="left">&nbsp;</p>
<p align="left">例如:</p>
<div class="cnblogs_code">
<pre>#我们一般情况下是将软件安装到/usr/local/<span style="color: rgba(0, 0, 0, 1)">目录中,因此将此目录映射到docker里面的mnt目录,以便我们安装tomcat使用

docker run </span>-i -t -v /usr/local/:/mnt fd44297e2ddb /bin/bash</pre>
</div>
<p><span style="line-height: 1.5">&nbsp;</span><span style="line-height: 1.5">执行后截图:</span></p>
<p align="left">此时已经进入到容器命令行交互模式中,进入mnt查看我们需要的软件。</p>
<p align="left">&nbsp;</p>
<p align="left">因为我在宿主机里面已经安装好jdk7、tomcat7软件,因此我只需将两个文件夹拷贝到本容器的相对路径即可。</p>
<p align="left">执行拷贝:</p>
<div class="cnblogs_code">
<pre># cp -ri jdk7 /usr/local/<span style="color: rgba(0, 0, 0, 1)">

# cp </span>-ri tomcat7 /usr/local/</pre>
</div>
<p><span style="line-height: 1.5">软件安装完成。</span></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">#退出容器

# exit

#查看运行的所有容器

# docker ps -<span style="color: rgba(0, 0, 0, 1)">a

CONTAINER ID      IMAGE               COMMAND             CREATED             STATUS                        PORTS               NAMES

e83353741aa2      fd44297e2ddb:latest   </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/bin/bash</span><span style="color: rgba(128, 0, 0, 1)">"</span>         <span style="color: rgba(128, 0, 128, 1)">12</span> minutes ago      Exited (<span style="color: rgba(128, 0, 128, 1)">130</span>) <span style="color: rgba(128, 0, 128, 1)">29</span><span style="color: rgba(0, 0, 0, 1)"> seconds ago                     happy_heisenberg   

#对正的ID号码为e83353741aa2的容器进行打镜像包,命名为navinfo.centos7.tomcat7

# docker commit e83353741aa2 navinfo.centos7.tomcat7

ef03386171147f9553f3f296d965c7fe5c8d6521ada0b1f9969489e9f8342ab8</span></pre>
</div>
<p><span style="line-height: 1.5">看到以上输出,说明镜像已经制作完成。</span></p>
<h2 align="left">1.1 使用tomcat的镜像运行</h2>
<p>有了这个tomcat7镜像我们就要使用他来为我们提供web服务了。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">#查看所有镜像

# docker images

REPOSITORY                TAG               IMAGE ID            CREATED             VIRTUAL SIZE

navinfo.centos7.tomcat7   latest            ef0338617114      </span><span style="color: rgba(128, 0, 128, 1)">5</span> minutes ago       <span style="color: rgba(128, 0, 128, 1)">555.8</span><span style="color: rgba(0, 0, 0, 1)"> MB

docker.io</span>/centos          centos7             fd44297e2ddb      <span style="color: rgba(128, 0, 128, 1)">3</span> weeks ago         <span style="color: rgba(128, 0, 128, 1)">215.7</span><span style="color: rgba(0, 0, 0, 1)"> MB

docker.io</span>/centos          latest            fd44297e2ddb      <span style="color: rgba(128, 0, 128, 1)">3</span> weeks ago         <span style="color: rgba(128, 0, 128, 1)">215.7</span><span style="color: rgba(0, 0, 0, 1)"> MB

docker.io</span>/centos          <span style="color: rgba(128, 0, 128, 1)">7</span>                   fd44297e2ddb      <span style="color: rgba(128, 0, 128, 1)">3</span> weeks ago         <span style="color: rgba(128, 0, 128, 1)">215.7</span><span style="color: rgba(0, 0, 0, 1)"> MB

#上面黄色内容的是我们创建的镜像,我们运行这个容器并启动里面的tomcat服务器</span></pre>
</div>
<p>&nbsp;</p>
<table style="width: 100%" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="100%">
<p align="left"># docker stop 87744f0a5201</p>
</td>
</tr>
</tbody>
</table>
<p align="left">停止正在运行的容器</p>
<p align="left">删除运行的所有容器</p>
<table border="1" cellspacing="0" cellpadding="0" align="left">
<tbody>
<tr>
<td valign="top" width="664">
<p align="left"># docker rm $(docker ps -a -q)</p>
</td>
</tr>
</tbody>
</table>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">我们来重新运行tomcat7镜像</p>
<div class="cnblogs_code">
<pre>#直接进入交互模式(-<span style="color: rgba(0, 0, 0, 1)">p 宿主机IP和PORT:容器PORT)

# docker run -it -p <span style="color: rgba(128, 0, 128, 1)">10000</span>:<span style="color: rgba(128, 0, 128, 1)">8080</span> navinfo.centos7.tomcat7 /bin/<span style="color: rgba(0, 0, 0, 1)">bash

#

#启动tomcat7

# /usr/local/tomcat7/bin/startup.sh</pre>
</div>
<p>&nbsp;</p>
<p align="left"><span style="line-height: 1.5">浏览器访问http://192.168.203.129:10000/&nbsp; 截图:</span>&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">成功运行。</p>
<p align="left">一个tomcat没有满足我们的应用需求,再运行一个tomcat,此时clone一个session窗口同样运行上面的操作</p>
<div class="cnblogs_code">
<pre># docker run -it -p <span style="color: rgba(128, 0, 128, 1)">10001</span>:<span style="color: rgba(128, 0, 128, 1)">8080</span> navinfo.centos7.tomcat7 /bin/<span style="color: rgba(0, 0, 0, 1)">bash

# /usr/local/tomcat7/bin/<span style="color: rgba(0, 0, 0, 1)">startup.sh

Using CATALINA_BASE:   </span>/usr/local/<span style="color: rgba(0, 0, 0, 1)">tomcat7

Using CATALINA_HOME:   </span>/usr/local/<span style="color: rgba(0, 0, 0, 1)">tomcat7

Using CATALINA_TMPDIR: </span>/usr/local/tomcat7/<span style="color: rgba(0, 0, 0, 1)">temp

Using JRE_HOME:      </span>/usr/local/jdk7/<span style="color: rgba(0, 0, 0, 1)">jre

Using CLASSPATH:       </span>/usr/local/tomcat7/bin/bootstrap.jar:/usr/local/tomcat7/bin/tomcat-<span style="color: rgba(0, 0, 0, 1)">juli.jar

Tomcat started.

#</pre>
</div>
<p><span style="line-height: 1.5">&nbsp;</span></p>
<p align="left"><span style="line-height: 1.5"><br>访问浏览器:http://192.168.203.129:10001/</span>&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">此时已经同时运行了两个tomcat。</p>
<p align="left">&nbsp;</p>
<p align="left">到此演示结束。</p>
<p align="left">&nbsp;</p>
<p align="left">运行的tomcat服务器列表:</p>
<p align="left">http://192.168.203.129:10000/</p>
<p align="left">http://192.168.203.129:10001/</p>


</div>
<div id="MySignature" role="contentinfo">
    作者:zhoulf<br>
出处:http://www.cnblogs.com/zhoulf/<br>
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。<br><br>
来源:https://www.cnblogs.com/zhoulf/p/4570901.html
頁: [1]
查看完整版本: Docker的安装使用-第1章