Docker第二章:搭建CentOS+JDK+Tomcat环境
【摘要】 1、安装CentOS7,拉取镜像docker pull centos:centos72、创建JDK7的容器对象docker run -i -t --name os7_jdk7_tomcate7 -v /alidata/software/:/alidata/software/ 5e35e350aded /bin/bash3、查看刚刚创建好的对象docker ps -a4、启动容器,并进入容器d...
1、安装CentOS7,拉取镜像
docker pull centos:centos7
2、创建JDK7,8的容器对象
docker run -i -t --name os7_jdk8_tomcat9 -v /alidata/software/:/alidata/software/ b5b4d78bc90c /bin/bash
3、查看刚刚创建好的对象
docker ps -a
4、启动容器,并进入容器
docker start [容器ID]:启动容器
docker exec -it [容器ID] /bin/bash : 进入容器
5、安装JDK和Tomcat
因为在宿主机器上,software文件夹下,已经存储好了安装文件。在容器对象中,可以直接进行相关的安装了。安装JDK和Tomcat的方式,同普通的Linux安装方式相同,这里不再重复讲述。
rpm -ivh jdk-7u79-linux-x64.rpm
tar -xzvf apache-tomcat-7.0.67.tar.gz
6、编写启动sh脚本
vi /root/run.sh
#!/bin/bash
sh /alidata/service/apache-tomcat-9.0.21/bin/catalina.sh run
7、设置tomcat的配置信息
vi /alidata/service/apache-tomcat-9.0.21/bin/catalina.sh
在上方加入JRE的配置(注意time时钟的设置,否则仍然会出现8个小时的时差问题)
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -Duser.timezone=GMT+08 -server -Xms256m -Xmx1024m -XX:+DisableExplicitGC"
8、设置文件的权限(很重要,不要忘记)
chmod u+x /root/run.sh
9、进入宿主机器,同步时钟。
如果不同步时钟的话,容器内的时间和宿主机,默认相差8个小时。
docker cp /usr/share/zoneinfo/Asia/Shanghai [容器ID]:/etc/localtime
10、提交以发布相关镜像image
docker commit [容器ID] jdk8/project:1.0
11、可以查看到自己提交的镜像image
docker images
12、根据镜像创建WEB容器
JDK7如下:
docker run --ulimit nofile=1024:1024 -d -p 80:8080 -v /alidata/docker/jdk7/home/webapps/:/alidata/service/apache-tomcat-7.0.108/webapps/ -v /alidata/docker/jdk7/home/tomcatlogs/:/alidata/service/apache-tomcat-7.0.108/logs/ -v /alidata/docker/jdk7/home/weblogs/:/alidata/service/runtime-log/home/ --name home_jdk7 jdk7/tomcat7 /root/run.sh
JDK8 如下:
docker run --ulimit nofile=1024:1024 -d -p 80:8080 -v /alidata/docker/jdk8/home/webapps/:/alidata/service/apache-tomcat-9.0.58/webapps/ -v /alidata/docker/jdk8/home/tomcatlogs/:/alidata/service/apache-tomcat-9.0.58/logs/ -v /alidata/docker/jdk8/home/weblogs/:/alidata/service/runtime-log/home/ --name home_jdk8 jdk8/tomcat9_58 /root/run.sh
ZS-JDK8使用:
docker run --ulimit nofile=1024:1024 -d -p 8099:8080 -v /home/docker/jdk8/test-warninfo/webapps/:/alidata/service/apache-tomcat-9.0.58/webapps/ -v /home/docker/jdk8/test-warninfo/tomcatlogs/:/alidata/service/apache-tomcat-9.0.58/logs/ -v /home/docker/jdk8/test-warninfo/weblogs/:/alidata/service/runtime-log/warninfo/ --name test-warninfo_jdk8 jdk8/tomcat9_58 /root/run.sh
说明:
1)做好端口映射 8061:8080
2)做好宿主机器的目录和容器内目录的映射关系,可以映射多个文件目录,使用多个-v即可。
3) 注意添加 --ulimit nofile=1024:1024 这个参数,否则有时候会报告 out of memory 的异常
13、容器开机启动
1)创建容器时候指定restart参数
docker run -it -p 6379:6379 --restart=always --name redis -d redis
2)对已经创建的容器用docker update 更新
docker update --restart=always [容器ID]
14、加载做好的镜像文件
docker load --input jdk8_tomcat9_58.tar
加载完成后,可以看到自己做好的镜像文件。重新执行步骤12,即可在新的服务器上,部署基础的Docker容器。
15、如果需要将image做成一个tar,需要使用save命令
docker save -o jdk7_tomcat7.tar jdk7/tomcat7
-o 后面输入文件名,最后是image的名称。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)