1,docker安装之前写过就不在赘述了,我的环境64位centos7.1内核3.1,直接写命令
#更新yum
sudo yum update
#添加yum仓库
$ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
#安装docker
sudo yum install docker-engine
#启动docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker
#验证是否成功
sudo docker info
sudo docker version
sudo docker run hello-world
以上安装完毕,官网,docloud,阿里云也有安装脚本。
安装结束如果不配置代理,我用docloud的加速器,官网上把加速器的脚本复制过来执行一下即可。
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://9c0b10da.m.daocloud.io
说一下卸载:
yum list installed | grep docker
#会列出已安装的docker删除即可
sudo yum -y remove docker-engine.x86_64
#删除镜像/容器等
rm -rf /var/lib/docker
以上docker的准备环境完毕。
首先下载镜像如我需要centos
sudo docker search centos
这时我们会看到centos的镜像,至于有关镜像的理解个人更愿意把它理解为虚拟光驱的镜像使用。
#下载镜像默认是最新的centos镜像
sudo docker pull centos
#查看镜像
sudo docker images
好了现在我们准备jdk和tomcat,把它放在当前目录下(本人没用Dockerfile方式因为不是很熟练,所以用的一下方法,个人认为Dockerfile挺好)
sudo docker run -i -t -v /home/docker/software:/mnt/software --privileged=true d7b5decce082
#docker run <相关参数> <镜像ID> <初始命令>, 意思运行d7b5decce082即刚才下载的centos把本地的tomcat和jdk目录挂载到docker镜像中。
安装jdk
进入镜像后就是linux系统,进入挂载目录mnt/software下。
配置环境变量:
1,vi ~/.bashrc
export JAVA_HOME=/opt/jdk
export PATH=$PATH:$JAVA_HOME
2,在etc/profile文件末尾加入:
export JAVA_HOME=/usr/share/jdk1.6.0_14
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
最后使用source命令,让环境变量生效:
source ~/.bashrc
source /etc/profile
以上配置环境变量细节不写了如果不同之处修改jdk版本和你的jdk路径即可。
安装tomcat
还是和平常linux一样我把项目的tomcat直接cp下来放到webapps下了.
在一个目录下些一个tomcat启动脚本内容如下
#!/bin/bash
source ~/.bashrc
sh /opt/tomcat/bin/catalina.sh run
注意:这里必须先加载环境,然后使用Tomcat的运行脚本来运行Tomcat
最后,为运行脚本添加执行权限:
chmod u+x run.sh
提交镜像
首先退出你刚才配置好的docker镜像
exit
然后使用以下命令可以看到刚才退出的docker镜像
docker ps –a
再使用以下命令,根据某个”容器ID”来创建一个新的”镜像”:
docker commit 57c312bbaad1 javaweb:0.1
该容器ID是”57c312bbaad1”,所创建的镜像名是”javaweb”
注意:”57c312bbaad1” 这个ID是使用 docker ps 命令来查看的
提交了新的镜像你可以把这个镜像储存tar包
docker save –o ~/javaweb.tar javaweb
docker save –o 保存的目录 镜像名
补充docker载入镜像两种方法
sudo docker load --input 文件
sudo docker load < 文件名
启动容器
先用 docker images看看当前所有的镜像
启动最新创建的镜像
docker run -d -p 80:80 --name javaweb javaweb:0.1 /opt/run.sh
-d:表示以”守护模式”执行/root/run.sh脚本,此时Tomcat控制台不会出现在输出终端上。
-p:表示宿主机与容器的端口映射,此时将容器内部的80端口映射为宿主机的 80端口,这样就向外界暴露了80端口,可通过Docker网桥来访问容器内部的80端口了
--name:表示容器名称,用一个有意义的名称命名即可
以上全部完事,以上包括自己整理和网上摘取。