Docker的安装使用-第1章
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章的更多相关文章
- Docker Centos安装Redis以及问题处理
之前一篇文章 Redis安装及主从配置 介绍了redis的安装配置,另一篇文件介绍了 Docker Centos安装Openssh .今天将两篇文件结合一下——在Docker Centos环境下搭建r ...
- docker 的安装
官方站点上有各种环境下的 安装指南,这里主要介绍下Ubuntu和CentOS系列的安装. Ubuntu 系列安装 Docker 通过系统自带包安装 Ubuntu 14.04 版本号系统中已经自带了 D ...
- Docker中安装WordPress
前言 虚拟化技术风靡一时,还不层在生产环境中实践.只能是闭门造车,自己玩一玩了,接触了一下docker最简单的命令,这才自己搭建一个wordpress玩一玩. 安装wordpress之前先把本机的do ...
- Docker 的安装与使用
账号:xcj26密码:X*c*j*5**6**邮箱:**j26@126.com 账号:xichji密码:X*c*j*5**6**邮箱:45*666***@qq.com 摘自:https://b ...
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- docker 启动安装等命令
确认是否安装url whereis curl 启动docker服务: sudo service docker start sudo service docker stop 安装curl sudo ap ...
- DOCKER windows安装
DOCKER windows安装 1.下载程序包 2. 设置环境变量 3. 启动DOCKERT 4. 分析start.sh 5. 利用SSH工具管理 6. 下载镜像 6.1 下载地址 6.2 用FTP ...
- 在docker里面安装部署应用
最近一直在做docker的安装打包工作,学到不少东西,在博客里记一下. 环境centos6 ,docker 基础镜象centos6 1.创建本地基础镜象,安装基础命令包 (1)Dockerfile,D ...
- Docker Centos安装Mysql5.6
之前一篇随笔<Docker Centos安装Openssh> 写的是如何在基础的centos镜像中搭建ssh服务,在此基础上再搭建其他服务.本文继续介绍在centos_ssh基础上搭建my ...
随机推荐
- URL资源跨域访问 跨域使用session信息
SilverLight 出于对安全性的考虑默认情况下对URL的访问进行了严格的限制,只允许访问同一子域下的URL资源. 下表列出了Silverlight 2.0 中 URL 访问规则: WebCl ...
- CMSIS-SVD 系统视图说明
CMSIS 到底是什么? 先来看看ARM公司对CMSIS的定义: ARM® Cortex™ 微控制器软件接口标准 (CMSIS) 是 Cortex-M 处理器系列的与供应商无关的硬件抽象层. CMSI ...
- SEAndroid安全机制简要介绍和学习计划
与iOS相比.Android最被人诟病的是其流畅性和安全性. 然而,从4.0開始,Android不遗余力地改善其流畅性. 特别是在即将公布的L版本号中,用ART替换了Dalvik,相信会越来越流畅.至 ...
- 禁止body滚动允许div滚动防微信露底
最近遇到一个需求,页面中只有一个div允许滚动,其他内容不允许滚动. 正常来讲加上 body{height:100%;overflow: hidden;} 应该就阻止页面滚动了.可是很悲催的是手机端并 ...
- 在安卓上,微信公众号无法分享到QQ的解决办法之一
今天做一个微信公众号分享功能,参考微信sdk,代码几乎没有任何问题,但就是分享到QQ失败,以下是我QQ分享部分的代码: wx.onMenuShareQQ({ title: '快来和我一起玩转大脑', ...
- 采集音频和摄像头视频并实时H264编码及AAC编码[转]
0. 前言 我在前两篇文章中写了DirectShow捕获音视频然后生成avi,再进行264编码的方法.那种方法有一些局限性,不适合实时性质的应用,如:视频会议.视频聊天.视频监控等.本文所使用的技术, ...
- Android与Unity交互研究
转载请注明出处:http://blog.csdn.net/crazy1235/article/details/46733221 Android与Unity交互研究 unity与android交互的由来 ...
- javascript无缝滚动原理
相比之下,无缝拼接能避免切换时出现空白,使用户体验更好! 无缝滚动原理: 制作一个双胞胎,内容跟主体内容一致,样式一致,如果横向排列则并排,当切换的时候,就可以弥补主体空白的地方,其他按普通循环操作即 ...
- Hibernate:有了 save,为什么还需要 persist?
背景 万物皆自然,每个 API 的设计,无论是否正确,都有其意图.因此,在学习某些框架的时候,我们需要经常思考:这个 API 的设计意图是啥? 本文来探讨一下 Session 中 persist 的设 ...
- Multiline ComboBox
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...