Docker第二章:搭建CentOS+JDK+Tomcat环境

举报
星汉网络 发表于 2020/05/05 19:35:13 2020/05/05
【摘要】 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

image.png

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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。