1,系统打算
CentOS具体要求如下:
通过以下命令查看您的CentOS内核:
[root@VM_200_249_centos ~]# uname -r
3.10.0-327.36.3.el7.x86_64
对于CentOS6.5而言,内核版本默认是2.6。首先,可通过以下命令安装最新内核:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -ivh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
yum -y --enablerepo=elrepo-kernel install kernel-lt
此后,编辑以下配置文件:
vi /etc/grub.conf
将default=1更改为default=0。
最后,通过reboot或shutdownnow命令重启操作系统。
重启后若果不出意外的话,再度查看内核,您的CentOS内核将会显示为3.10。
2,安装Docker
只需通过以下命令即可安装Docker软件:
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum -y install docker-io
可通过以下命令启动Docker服务:
service docker start
chkconfig docker on # 设置开机启动
可使用以下命令,查看Docker是否安装成功:
[root@VM_200_249_centos ~]# docker version
Client:
Version: 1.12.3
API version: 1.24
Go version: go1.6.3
Git commit: 6b644ec
Built:
OS/Arch: linux/amd64
Server:
Version: 1.12.3
API version: 1.24
Go version: go1.6.3
Git commit: 6b644ec
Built:
OS/Arch: linux/amd64
若输出了Docker的版本号,则说明安装成功,我们下边就可以开始使用Docker了。
3,安装镜像
Docker官网提供了所有的镜像下载地址。
直接pull出来()
docker pull nimmis/java-centos
可以通过对应的标签选择不同的jdk版本,比如”dockerpullnimmis/java-centos:openjdk-7-jdk”
镜像加速器
docker官网的镜像下载特别慢,国外提供了Docker镜像的下载点,如阿里、网易和DaoCloud。以阿里云为例:
须要先注册阿里云帐号docker部署web应用,步入:
https://cr.console.aliyun.com/#/accelerator
选择一侧“加速器”,找到你的专属加速器地址
在centos下更改/etc/docker/daemon.json文件,添加:
{
"registry-mirrors": ["https://yxz1pr3x.mirror.aliyuncs.com"]
}
设置后能获得每秒1兆的下载速率。
最后,使用以下命令查看本地所有的镜像:
[root@VM_200_249_centos ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
dockerxman/docker-centos latest 4c89ecb22b17 2 minutes ago 395.6 MB
daocloud.io/library/centos latest 67591570dd29 10 weeks ago 191.8 MB
可以看见,系统中有2个docker镜像,“dockerxman/docker-centos”,也可以
称其为库房(Repository),镜像的标签(Tag)为lastest,再者还有镜像ID(IMAGEID),大小有395兆。
4,启动容器
容器在镜像的基础上运行,一旦容器启动了,我们就可以登陆到容器中,安装自己所需的软件或应用程序。
docker run -i -t -v /mydata/data:/mnt/software --restart=always 67591570dd29 /bin/bash
命令解释:
docker run
其中linux环境变量,相关参数包括:
初始命令表示一旦容器启动,须要运行的命令,此时使用“/bin/bash”,表示哪些也不做,只需步入命令行即可。
须要说明的是,不一定要使用“镜像ID”,也可以使用“仓库名:标签名”,比如:dockerxman/docker-centos:latest。
查看所有创建的容器
docker ps -a
查看正在运行的容器
[root@VM_200_249_centos ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a197e23e0ddb asy:0.1 "/root/run.sh" 24 hours ago Up 24 hours 0.0.0.0:58080->8080/tcp javaweb
启动容器
docker start
停止容器
docker stop
重新步入已创建的容器
docker attach
或
docker exec -it /bin/bash
删掉容器
docker rm
删掉镜像
docker rmi
注:须要先把镜像生成的容器全部删掉能够删除镜像。
5,安装软件
因为我们选择的镜像是包含JDK的,所以我们只须要安装tomcat。
tomcat我置于服务器上,用wget下载到容器中。
wget http://kekefund.com/soft/apache-tomcat-7.0.63.tar.gz
将tomcat放在/opt目录下,先移到到/opt目录,之后解压
cd /opt
tar -zxf /mnt/software/apache-tomcat-7.0.63.tar.gz -C .
重命名
mv apache-tomcat-7.0.63/ tomcat/
6,运行脚本
创建运行脚本:vi/root/run.sh
#!/bin/bash
source ~/.bashrc
sh /opt/tomcat/bin/catalina.sh run
为运行脚本添加执行权限
chmod u+x /root/run.sh
7,创建JavaWeb镜像
使用以下命令,按照某个“容器ID”来创建一个新的“镜像”:
docker commit d50f5048e212 chenbb/javaweb:0.1
该容器的ID是“d50f5048e212”,所创建的镜像名是“chenbb/javaweb:0.1”,此后可使用镜像来启动JavaWeb容器。
8,启动JavaWeb容器
通过dockerimages查看所有镜像
[root@VM_200_249_centos ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE

chenbb/javaweb 0.1 99e35759d5ed 24 hours ago 700 MB
dockerxman/docker-centos latest 4c89ecb22b17 26 hours ago 395.6 MB
daocloud.io/library/centos latest 67591570dd29 10 weeks ago 191.8 MB
可见,此时早已听到了最新创建的镜像“chenbb/javaweb:0.1”,其镜像ID是“9999ee357593575935759dd55eded”。正如前面所描述的那样,我们可以通过“镜像名”或“镜像ID”来启动容器,与先前启动容器不同的是,我们如今不再步入容器的命令行如何安装LINUX,而是直接启动容器内部的Tomcat服务。此时,须要使用以下命令:
docker run -d -p 58080:8080 --name javaweb --restart=always chenbb/javaweb:0.1 /root/run.sh
参数介绍:
9docker部署web应用,浏览器查看
在浏览器中,输入以下地址,即可访问Tomcat首页:
:58080/
10,镜像打包
打包后就可以移植到其他主机上运行了。
打包:
docker save chenbb/fofeasy:0.1 > /mydata/data/fofeasy0.1.tar
11,在另外的主机上导出镜像
docker load < fofeasy0.1.tar #导入镜像
docker images #查看存在的镜像
参考
1,迈出使用Docker的第一步,学习第一个Docker容器
2,使用Docker搭建JavaWeb运行环境
3,使用Docker运行Tomcat+WAR包Java应用
4,docker的安装以及jdk和tomcat的环境配置
5,运维人员的解放—-Docker快速布署