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. Ubuntu 16.09开启iptables的日志实现调试

    1.先配置日志文件输出 参考:http://www.cnblogs.com/EasonJim/p/8413535.html 2.配置日志打点 参考:http://www.cnblogs.com/Eas ...

  2. django safe 过滤器--不对字符串进行转义(转)

    unix下的binutils短小精悍,用胶水(俺经常成管道为胶水)紧密结合在一起释放巨大的能量.django的过滤器也学习了这个方式,每个版本的django都自带了一些builtin的filter,当 ...

  3. 【maven】maven命令 package、install、deploy 的区别

    maven命令  package.install.deploy  的区别

  4. python笔记23-unittest单元测试之mock

    什么是mock unittest.mock是一个用于在Python中进行单元测试的库,Mock翻译过来就是模拟的意思,顾名思义这个库的主要功能是模拟一些东西. 它的主要功能是使用mock对象替代掉指定 ...

  5. 对java3d的位置理解

    以一个圆柱体为例: 圆柱体的一个特征点假设为(0,0,0),如下图示: 当特征点变为(0,0.4f,0)时,我们看到的圆柱体就如下所示: 当特征点变为(0,0.8f,0)时,我们看到的圆柱体就如下所示 ...

  6. 如何从MATLAB里面保存出分辨率高的图形

    MATLAB堪称科技工作者的倚天屠龙,其科学计算,简洁的编程风格,友好的图形界面等等,都使得它颇受欢迎.MATLAB作图相当简单,而且美观,但是,缺点是分辨率低,一直没有发现,直到最近一期刊编辑告诉我 ...

  7. 用500行Julia代码开始深度学习之旅 Beginning deep learning with 500 lines of Julia

    Click here for a newer version (Knet7) of this tutorial. The code used in this version (KUnet) has b ...

  8. Python学习(四)数据结构 —— set frozenset

    集合类型 set  frozenset 赋值及去重 set 是一个无序不重复元素集,还有个frozenset 类型(顾明思议,就是不可改变元素的集合): 基本功能包括关系测试和消除重复元素:set支持 ...

  9. CSS3 Media Queries 详细介绍与使用方法[转]

    Media Queries 就是要在支援CSS3 的浏览器中才能正常工作,IE8 以下不支援. 而Media Queries 的套用方法千变万化,要套用在什么样的装置中,都可以自己来定义. 关于Med ...

  10. Android -- ContentProvider与联系人

    数据库                                                                                         读联系人 raw ...