Docker的安装linux
操做系统: Red Hat Enterprise Linux Server release 7.1web
软件环境: 系统已经配置了yum安装源docker
软件版本: docker-1.5.0-28.el7.centos.x86_64.rpmapache
#使用root用户bootstrap
su rootcentos
#检查是否已安装浏览器
[root@localhost ~]# rpm -qa | grep ncurses dockertomcat
没有那个文件或目录就进行如下安装步骤:bash
# 进入安装目录服务器
cd /usr/local/
#不检查密钥方式安装
yum -y install docker –nogpgcheck
#启动
systemctl start docker
#是否运行
docker info
以上信息说明运行正常,安装结束。
目的:基于最小的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查看咱们须要的软件。
由于我在宿主机里面已经安装好jdk七、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" 12 minutes ago Exited (130) 29 seconds ago happy_heisenberg #对正的ID号码为e83353741aa2的容器进行打镜像包,命名为navinfo.centos7.tomcat7 [root@localhost ~]# docker commit e83353741aa2 navinfo.centos7.tomcat7 ef03386171147f9553f3f296d965c7fe5c8d6521ada0b1f9969489e9f8342ab8
看到以上输出,说明镜像已经制做完成。
有了这个tomcat7镜像咱们就要使用他来为咱们提供web服务了。
#查看全部镜像 [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE navinfo.centos7.tomcat7 latest ef0338617114 5 minutes ago 555.8 MB docker.io/centos centos7 fd44297e2ddb 3 weeks ago 215.7 MB docker.io/centos latest fd44297e2ddb 3 weeks ago 215.7 MB docker.io/centos 7 fd44297e2ddb 3 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 10000:8080 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 10001:8080 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/