使用centos7搭建java web运行环境
1:前提条件默认要求是内核版本高于3.8CentOS7系统,内核版本3.10可以使用 uname -r 命令来看输出的内核信息 2:安装Dockeryum install docker docker version若输出了 Docker 的版本号,则说明安装成功。 3:启动Docker安装完成后,使用下面的命令来启动 docker 服务...
1:前提条件
默认要求是内核版本高于3.8
CentOS7系统,内核版本3.10
可以使用 uname -r
命令来看输出的内核信息
2:安装Docker
yum install docker
docker version
若输出了 Docker 的版本号,则说明安装成功。
3:启动Docker
安装完成后,使用下面的命令来启动 docker 服务,并将其设置为开机启动:
[root@localhost ~]# systemctl start docker.service
[root@localhost ~]# chkconfig docker on
chkconfig docker on # 加入开机启动
重启docker
systemctl restart docker
停止docker
service docker stop或者systemctl stop docker.service
看docker状态
systemctl status docker.service
4:下载官方的 CentOS 镜像到本地
[root@localhost ~]# docker pull centos
5:确认 CentOS 镜像已经被获取:
[root@localhost ~]# docker images centos
6:运行一个 Docker 容器
7:退出容器
输入 exit就好了。
1:开始查看镜像
二:在容器中搭建javaweb运行环境
1:使用以下命令即可启动容器
docker run -i -t --privileged=true -v /root/software/:/mnt/software/ 67591570dd29 /bin/bash
这个67591570dd29是当时的centos的id
所有安装程序都放在了宿主机的/root/software/目录下,现在需要将其挂载到容器的/mnt/software/目录下。
2:安装jdk和tomcat环境
cd /mnt/software
tar -xvf jdk-7u67-linux-x64.tar.gz (这里是你自己的JDK版本)
tar -xvf apache-tomcat-7.0.72.tar.gz (这里是你的Tomcat版本)
cd ../..
mv /mnt/software/jdk1.8.0_111 /opt/jdk/
mv /mnt/software/apache-tomcat-8.5.9 /opt/tomcat/
3:编写运行脚本
在容器里面
cd /root
编写运行脚本,当启动容器的时候,启动tomcat .
touch run.sh (run.sh是在root目录下)
vi /root/run.sh
脚本内容:
#!/bin/bash
export JAVA_HOME=/opt/jdk/
export PATH=$JAVA_HOME/bin:$PATH
sh /opt/tomcat/bin/catalina.sh run
脚本编写完后,添加运行权限
chmod u+x /root/run.sh
4、退出容器
执行exit 退出容器 。 查看当前所有容器
docker ps -a
5:创建tomcat 镜像
根据上面的容器 id 创建tomcat 镜像 。
dockercommit 6e56de1e8ccd xulei/javaweb:
0.
1
该容器的 ID 是“57c312bbaad1”,所创建的镜像名是“xulei/javaweb:0.1”,随后可使用镜像来启动 Java Web 容器
6:在宿主机webapps里面放入war包
或者是在:新建 /root/webapps/ROOT/index.html
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
6:启动javaweb容器
docker run -d -p 58080:8080 -v /root/webapps:/opt/tomcat/webapps --privileged=true --name javaweb xulei/javaweb:0.1 /root/run.sh
7:访问测试
http://192.168.10.11:58080/JSon
8:进入容器
Docker exec –I t javaweb/bin/sh
常见错误:
1:没有权限 挂载目录无法读取
这个是原因是CentOS7中的安全模块selinux把权限禁掉了,至少有以下三种方式解决挂载的目录没有权限的问题:
1.在运行容器的时候,给容器加特权,及加上 --privileged=true 参数:
docker run -i -t -v /soft:/soft --privileged=true 686672a1d0cc /bin/bash
2.临时关闭selinux:
setenforce 0
3.添加selinux规则,改变要挂载的目录的安全性文本
/etc/sysconfig/selinux
2:过段时间后打开58080页面没反应
可以重启docker
systemctl restart docker
更多推荐
所有评论(0)