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. JS 循环遍历json

    第一  看看json的格式 { "employees": [ { "firstName":"Bill" , "lastName&q ...

  2. Druid 常见问题

    https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98

  3. SpringSecurity3整合CAS实现单点登录

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  4. iOS开发之UITextField 左侧设置小图标 leftview

    设置用户登录的时候,这个是避免不了,实现方法很多,我个人主张,系统有提供就使用系统,一来方便,二来运行效率高 Paste_Image.png 实现代码如下: pwdTextField.placehol ...

  5. Neo4j 使用cypher语言进行查询

    Neo4j是一个Java开发的图数据库,它将结构化数据存储在网络(从数学角度叫做图)上而不是表中.相对于关系数据库来说,图数据库善于处理大量复杂.互连接.低结构化的数据,这些数据变化迅速,需要频繁的查 ...

  6. OpenShift 容器日志和应用日志分离问题

    一般来说应用日志和容器日志一样输出到console,这样oc logs的时候就能把所有的获取到,但这种模式下输出的日志比较多,问题定位不方便,更多的时候开发人员只想通过应用日志来查看定位问题就够了,所 ...

  7. Linux进程间通信—信号

    三.信号(Signal) 信号是Unix系统中使用的最古老的进程间通信的方法之一.操作系统通过信号来通知某一进程发生了某一种预定好的事件:接收到信号的进程可以选择不同的方式处理该信号,一是可以采用默认 ...

  8. poj 1330 Nearest Common Ancestors 题解

    Nearest Common Ancestors Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 24618   Accept ...

  9. 挑战黑客极限:Pwn2Own 2015成史上“最难”黑客大赛

    Pwn2Own是全球最著名.奖金最丰厚的黑客大赛,由美国五角大楼入侵防护系统供应商TippingPoint赞助.近日Pwn2Own 2015公布全新的比赛规则,本届赛事难度超高.史无前例,包括VUPE ...

  10. C++如何禁止掉对象的复制操作

    最容易想到的是将拷贝构造函数与赋值函数声明为private.但是,private只是说外部不能直接调用,但是可以间接通过类的成员函数与友元函数对其访问.那么怎么办呢? ---->在类中,允许声明 ...