Docker的安装

1.1 环境说明

操作系统: Red Hat Enterprise Linux Server release 7.1

软件环境: 系统已经配置了yum安装源

软件版本: docker-1.5.0-28.el7.centos.x86_64.rpm

1.2 安装过程

#使用root用户

su root

#检查是否已安装

[root@localhost ~]# rpm -qa | grep ncurses docker

没有那个文件或目录就进行以下安装步骤:

# 进入安装目录

cd /usr/local/

#不检查密钥方式安装

yum -y install docker –nogpgcheck

#启动

systemctl start docker

#是否运行

docker info

以上信息说明运行正常,安装结束。

1 Docker的使用

1.1 制作tomcat的镜像

目的:基于最小的centos操作系统运行tomcat7服务器对外提供服务,这样可以最小化服务器资源占用。

软件:jdk-7u80-linux-x64.gz、apache-tomcat-7.0.61.tar.gz

操作过程

1. 获取centos最新稳定版镜像。

#查看所有镜像

docker images

此时没有任何镜像文件。

#获取最新镜像

docker pull centos:latest

#再次查看所有镜像(镜像列表,注意看IMAGE ID 是否重复)

docker images

看到了3行信息,注意看IMAGE ID列,都是一样的,说明是一个文件的不同TAG而已。接下来我们使用这个镜像制作我们自己要使用的镜像文件。

1. 启动容器

容器是在镜像的基础上来运行的,一旦容器启动了,我们就可以登录到容器中,安装自己所需的软件或应用程序。既然镜像已经下载到本地,那么如何启动容器呢?

启动容器命令:docker run <相关参数> <镜像 ID> <初始命令>

参数说明:

#  -i:表示以“交互模式”运行容器

#  -t:表示容器启动后会进入其命令行

#  -v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>

#  “/bin/bash”,表示什么也不做,只进入命令行

例如:

#我们一般情况下是将软件安装到/usr/local/目录中,因此将此目录映射到docker里面的mnt目录,以便我们安装tomcat使用

docker run -i -t -v /usr/local/:/mnt fd44297e2ddb /bin/bash

执行后截图:

此时已经进入到容器命令行交互模式中,进入mnt查看我们需要的软件。

因为我在宿主机里面已经安装好jdk7、tomcat7软件,因此我只需将两个文件夹拷贝到本容器的相对路径即可。

执行拷贝:

[root@e83353741aa2 mnt]# cp -ri jdk7 /usr/local/

[root@e83353741aa2 mnt]# cp -ri tomcat7 /usr/local/

软件安装完成。

#退出容器

[root@e83353741aa2 mnt]# exit

#查看运行的所有容器

[root@localhost ~]# docker ps -a

CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS                        PORTS               NAMES

e83353741aa2        fd44297e2ddb:latest   "/bin/bash"          minutes ago      Exited ()  seconds ago                       happy_heisenberg   

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

[root@localhost ~]# docker commit e83353741aa2 navinfo.centos7.tomcat7

ef03386171147f9553f3f296d965c7fe5c8d6521ada0b1f9969489e9f8342ab8

看到以上输出,说明镜像已经制作完成。

1.1 使用tomcat的镜像运行

有了这个tomcat7镜像我们就要使用他来为我们提供web服务了。

#查看所有镜像

[root@localhost ~]# docker images

REPOSITORY                TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

navinfo.centos7.tomcat7   latest              ef0338617114         minutes ago       555.8 MB

docker.io/centos          centos7             fd44297e2ddb         weeks ago         215.7 MB

docker.io/centos          latest              fd44297e2ddb         weeks ago         215.7 MB

docker.io/centos                             fd44297e2ddb         weeks ago         215.7 MB

#上面黄色内容的是我们创建的镜像,我们运行这个容器并启动里面的tomcat服务器

[root@localhost ~]# docker stop 87744f0a5201

停止正在运行的容器

删除运行的所有容器

[root@localhost ~]# docker rm $(docker ps -a -q)

我们来重新运行tomcat7镜像

#直接进入交互模式(-p 宿主机IP和PORT:容器PORT)

[root@localhost ~]# docker run -it -p : navinfo.centos7.tomcat7 /bin/bash

[root@84467414cafa /]#

#启动tomcat7

[root@84467414cafa /]# /usr/local/tomcat7/bin/startup.sh

浏览器访问http://192.168.203.129:10000/  截图:

成功运行。

一个tomcat没有满足我们的应用需求,再运行一个tomcat,此时clone一个session窗口同样运行上面的操作

[root@localhost ~]# docker run -it -p : navinfo.centos7.tomcat7 /bin/bash

[root@08e8eda8196f /]# /usr/local/tomcat7/bin/startup.sh

Using CATALINA_BASE:   /usr/local/tomcat7

Using CATALINA_HOME:   /usr/local/tomcat7

Using CATALINA_TMPDIR: /usr/local/tomcat7/temp

Using JRE_HOME:        /usr/local/jdk7/jre

Using CLASSPATH:       /usr/local/tomcat7/bin/bootstrap.jar:/usr/local/tomcat7/bin/tomcat-juli.jar

Tomcat started.

[root@08e8eda8196f /]#

访问浏览器:http://192.168.203.129:10001/

此时已经同时运行了两个tomcat。

到此演示结束。

运行的tomcat服务器列表:

http://192.168.203.129:10000/

http://192.168.203.129:10001/

Docker的安装使用-第1章的更多相关文章

  1. Docker Centos安装Redis以及问题处理

    之前一篇文章 Redis安装及主从配置 介绍了redis的安装配置,另一篇文件介绍了 Docker Centos安装Openssh .今天将两篇文件结合一下——在Docker Centos环境下搭建r ...

  2. docker 的安装

    官方站点上有各种环境下的 安装指南,这里主要介绍下Ubuntu和CentOS系列的安装. Ubuntu 系列安装 Docker 通过系统自带包安装 Ubuntu 14.04 版本号系统中已经自带了 D ...

  3. Docker中安装WordPress

    前言 虚拟化技术风靡一时,还不层在生产环境中实践.只能是闭门造车,自己玩一玩了,接触了一下docker最简单的命令,这才自己搭建一个wordpress玩一玩. 安装wordpress之前先把本机的do ...

  4. Docker 的安装与使用

    账号:xcj26密码:X*c*j*5**6**邮箱:**j26@126.com   账号:xichji密码:X*c*j*5**6**邮箱:45*666***@qq.com   摘自:https://b ...

  5. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  6. docker 启动安装等命令

    确认是否安装url whereis curl 启动docker服务: sudo service docker start sudo service docker stop 安装curl sudo ap ...

  7. DOCKER windows安装

    DOCKER windows安装 1.下载程序包 2. 设置环境变量 3. 启动DOCKERT 4. 分析start.sh 5. 利用SSH工具管理 6. 下载镜像 6.1 下载地址 6.2 用FTP ...

  8. 在docker里面安装部署应用

    最近一直在做docker的安装打包工作,学到不少东西,在博客里记一下. 环境centos6 ,docker 基础镜象centos6 1.创建本地基础镜象,安装基础命令包 (1)Dockerfile,D ...

  9. Docker Centos安装Mysql5.6

    之前一篇随笔<Docker Centos安装Openssh> 写的是如何在基础的centos镜像中搭建ssh服务,在此基础上再搭建其他服务.本文继续介绍在centos_ssh基础上搭建my ...

随机推荐

  1. URL资源跨域访问 跨域使用session信息

    SilverLight 出于对安全性的考虑默认情况下对URL的访问进行了严格的限制,只允许访问同一子域下的URL资源. 下表列出了Silverlight 2.0 中 URL 访问规则:   WebCl ...

  2. CMSIS-SVD 系统视图说明

    CMSIS 到底是什么? 先来看看ARM公司对CMSIS的定义: ARM® Cortex™ 微控制器软件接口标准 (CMSIS) 是 Cortex-M 处理器系列的与供应商无关的硬件抽象层. CMSI ...

  3. SEAndroid安全机制简要介绍和学习计划

    与iOS相比.Android最被人诟病的是其流畅性和安全性. 然而,从4.0開始,Android不遗余力地改善其流畅性. 特别是在即将公布的L版本号中,用ART替换了Dalvik,相信会越来越流畅.至 ...

  4. 禁止body滚动允许div滚动防微信露底

    最近遇到一个需求,页面中只有一个div允许滚动,其他内容不允许滚动. 正常来讲加上 body{height:100%;overflow: hidden;} 应该就阻止页面滚动了.可是很悲催的是手机端并 ...

  5. 在安卓上,微信公众号无法分享到QQ的解决办法之一

    今天做一个微信公众号分享功能,参考微信sdk,代码几乎没有任何问题,但就是分享到QQ失败,以下是我QQ分享部分的代码: wx.onMenuShareQQ({ title: '快来和我一起玩转大脑', ...

  6. 采集音频和摄像头视频并实时H264编码及AAC编码[转]

    0. 前言 我在前两篇文章中写了DirectShow捕获音视频然后生成avi,再进行264编码的方法.那种方法有一些局限性,不适合实时性质的应用,如:视频会议.视频聊天.视频监控等.本文所使用的技术, ...

  7. Android与Unity交互研究

    转载请注明出处:http://blog.csdn.net/crazy1235/article/details/46733221 Android与Unity交互研究 unity与android交互的由来 ...

  8. javascript无缝滚动原理

    相比之下,无缝拼接能避免切换时出现空白,使用户体验更好! 无缝滚动原理: 制作一个双胞胎,内容跟主体内容一致,样式一致,如果横向排列则并排,当切换的时候,就可以弥补主体空白的地方,其他按普通循环操作即 ...

  9. Hibernate:有了 save,为什么还需要 persist?

    背景 万物皆自然,每个 API 的设计,无论是否正确,都有其意图.因此,在学习某些框架的时候,我们需要经常思考:这个 API 的设计意图是啥? 本文来探讨一下 Session 中 persist 的设 ...

  10. Multiline ComboBox

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...