centos进行docker 环境部署tomcat9+jdk1.8+mysql8+python

思路:在centos上部署docker,并在docker容器中部署tomcat、jdk、webapp、mysql、python,外部通过访问centos服务器访问tomcat服务

一、安装docker

1、linux环境(需要7.0以上,我的是8.2)

cat /etc/redhat-release

 2、卸载旧版本docker

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

 3、安装必须软件包

yum install -y yum-utils device-mapper-persistent-data lvm2

 4、设置仓库(我用的清华源)

yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

5、安装Docker Engine-Community,需要接受GPG密钥

yum install docker-ce docker-ce-cli containerd.io

6、启动docker

systemctl start docker

7、查看docker状态,active (running) active(running)为运行状态

systemctl status docker

二、制作镜像

1、可以查看已有的镜像,并显示说明全部信息

docker search tomcat --no-trunc

2、因为不清楚镜像实际情况,我这里还有各种版本要求,所有我这里用了官方纯净centos镜像,自己制作

docker pull centos

3、下载好了,查看下载的镜像信息

docker images

4、启动容器,映射端口并带有systemctl权限 ,容器名可以自己指定

docker run -p 8080:8080 -tid --name 容器名 --privileged=true 镜像名 /sbin/init

5、查看运行容器信息

docker ps -a

6、tomcat、jdk、mysql、python自己去官网下载,并拷贝到容器中,我这里是tomcat9和jdk1.8,是tar.gz的压缩包,mysql 是tar,python 是tgz压缩包

docker cp jdk路径 容器名:目标路径
docker cp tomcat路径 容器名:目标路径
docker cp mysql路径 容器名:目标路径
docker cp python路径 容器名:目标路径 

7、进入docker容器

docker exec -it 容器名 /bin/bash

9、正常安装配置,基本和centos安装相同,需要注意的是mysql大小写敏感问题

缺少包:

yum install compat-openssl10 -y
yum install libncurses* -y
yum install net-tools -y
yum install numactl -y
yum install libaio -y
yum install perl -y
yum install perl-JSON -y

设置mysql大小写不敏感,及编码格式

rm -rf /var/lib/mysql
vi /etc/my.cnf
[mysqld]
lower_case_table_names=1

character-set-server = utf8
collation-server = utf8_general_ci

[client]
default-character-set = utf8

三、配置docker启动后自动运行python和tomcat程序

1、拷贝工程war包到tomcat

docker cp war包路径 容器名:tomcat的webapps路径

2、制作开机运行脚本 run.sh,包括启动redis、python、tomcat

#!/bin/bash

export JAVA_HOME=/home/jdk1.8.0_311
export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:
nohup /home/redis-4.0.6/src/redis-server &
nohup /usr/local/python/bin/python3 /home/lac.py &
/home/apache-tomcat-9.0.56/bin/catalina.sh run

3、将当前容器生成镜像

docker commit 容器名称 新镜像名称

4、运行镜像,生成容器,映射docker中8080端口到centos的8080端口

docker run -p 8080:8080 -tid --name 容器名称 --privileged=true 已生成镜像名称 /usr/sbin/init

5、后台运行容器并执行run.sh

docker exec -itd tomcat /home/run.sh

6、上个步骤执行一次就好,如果之后再进入容器的话,可以使用

docker exec -it tomcat /bin/bash

7、在任意可以访问centos服务器的浏览器,访问tomcat服务,比如:http://192.168.0.1:8080/

8、成功

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值