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. [置顶] getopt_long函数基本用法-linux

    一.感性认识: [c-sharp]  view plain copy   #include <stdio.h> #include <getopt.h> char * l_opt ...

  2. ALAssetsLibrary使用

    在iOS中,我们调用摄像头和选择相册中的资源,我们可以使用:UIImagePickerController类来完成.   当然,我们也可以不使用UI的形式来访问iOS设备的相册资源. 那就是使用:AL ...

  3. 使用Win2D在UWP程序中2D绘图(二)

    绘制API 首先还是看一下前文的的示例: args.DrawingSession.DrawEllipse(155, 115, 80, 30, Colors.Black, 3);    args.Dra ...

  4. 关于GCC Cygwin MinGW MSYS

    [转载]关于Gcc/MinGW/Cygwin/Msys http://blog.sciencenet.cn/blog-778757-616920.html 一.GCC的历史 GCC是一个原本用于Uni ...

  5. 字符串型MySQL查询条件需要注意的一点

    最近在工作中遇到了数据库服务器产生很多读写队列的问题,于是要求大家开始优化我们的SQL语句. 下面是查询quotedata_history表中的code字段的SQL语句,其中code字段的类型是var ...

  6. [c#基础]泛型集合的自定义类型排序

    引用 最近总有种感觉,自己复习的进度总被项目中的问题给耽搁了,项目中遇到的问题,不总结又不行,只能将复习基础方面的东西放后再放后.一直没研究过太深奥的东西,过去一年一直在基础上打转,写代码,反编译,不 ...

  7. 终于理解了什么是LGPL

    GPL 我 们很熟悉的Linux就是采用了GPL.GPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样.GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费 ...

  8. 编写第一个Shell脚本

    Linux中有好多中不同的shell,bash是linux默认的shell,免费且容易使用. su切换为root权限 1.创建shell脚本 touch hello.sh 2.编辑: vi hello ...

  9. 《Java虚拟机原理图解》3、JVM执行时数据区

    [last updated :2014/11/7]     JVM执行时数据区(JVM Runtime Area)事实上就是指JVM在执行期间,其对计算机内存空间的划分和分配.本文将通过下面几个话题来 ...

  10. easyui datagrid checkbox multiple columns have been done do

    lengku1987   2013-01-06 22:27:47   Sponsored Links   easyui datagrid checkbox multiple columns have ...