docker 搭建tomcat+mysql

目录

 

1,docker的组成,

2,创建镜像

2.1 方式一:通过Dockerfile定制镜像

2.2 方式二:直接拉去镜像,设置端口,设置数据持久化映像

3,安装Tomcat

安装mysql

docker命令

centos 7 关闭防火墙:


1,docker的组成,

  1. Docker Client客户端
  2. Docker Daemon守护进程
  3. Docker Image镜像
  4. Docker Container容器

我们通过客户端写命令,然后客户端将命令发送给守护进程,守护进程再将命令执行的结果返回给客户端,这就使我们能通过命令查看执行结果,镜像就是容器的源代码,容器通过镜像启动,使用仓库来保存用户构建的镜像,仓库分为共有和私有。

2,创建镜像

2.1 方式一:通过Dockerfile定制镜像

# 新的镜像的基础镜像是谁?

FROM jenkins/jenkins:lts

# 使用的用户

USER root

# RUN 执行要操作的命令

RUN apt-get update && apt-get install -y libltdl7 && apt-get update

 

#set charset timezone

# ENV 设置环境变量

ENV LANG=zh_CN.UTF-8

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

 

#install jdk8

# Add 将本地的文件上传到镜像中指定的目录,并进行解压操作

ADD jdk-8u231-linux-x64.tar.gz /usr/local

# 设置java的环境变量

ENV JAVA_HOME /usr/local/jdk1.8.0_231

ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  

ENV PATH $JAVA_HOME/bin:$PATH

创建镜像

 docker build --no-cache -t jenkins-jdk8:v1 -f jenkins.dockerfile .

jenkins.dockerfile:创建的dockerfile文件夹名称

2.2 方式二:直接拉去镜像,设置端口,设置数据持久化映像

3,安装Tomcat

1、docker run --name mytomcat8088 -p 8088:8080 -v /opt/tomcat/webapps:/usr/local/tomcat/webapps -d tomcat  (先在虚拟机创建一个文件夹/tmp/test)
2、docker ps -a  查ID
3、docker exec -it ID /bin/bash
4、进入/usr/local/tomcat/webapps.dist
5、cp * -r ../webapps 
6、进入网页http://ip:端口/

命令说明:

--name:设置容器名称

-p:将容器的8080端口映射到主机的8088端口

-v:将主机当前目录下的/usr/local/tomcat/webapps目录挂载到容器的/opt/tomcat/webapps/

-d:选择镜像

docker 容器启动:docker container start <容器_id/容器_name>


安装mysql

1、docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
2、docker ps -a        查ID
3、docker exec -it ID /bin/bash
4、登录:mysql -u root -p
5、远程授权:

 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
  flush privileges;
  quit;

命令说明:

  • -p 3306:3306:将容器的3306端口映射到主机的3306端口

  • -v $PWD/conf/my.cnf:/etc/mysql/my.cnf:将主机当前目录下的conf/my.cnf挂载到容器的/etc/mysql/my.cnf

  • -v $PWD/logs:/logs:将主机当前目录下的logs目录挂载到容器的/logs

  • -v $PWD/data:/mysql_data:将主机当前目录下的data目录挂载到容器的/mysql_data

  • -e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码

docker 容器启动:docker container start <容器_id/容器_name>

关闭防火墙,使用nvaicat连接数据库,成功连接则代表配置完成。

设置web服务

当docker容器以及tomcat,mysql配置完成之后,且数据持久化,通过映射在本地的目录操作容器目录。

如当前web应用,设置/opt/tomcat/webapps目录为宿主机目录,将文件war包上传至webapps目录,此时容器对应目录也出现对应的文件,然后修改相应的配置文件。

在本次web应用部署中

  1. 上传到webapps目录后,启动Tomcat服务,如果已启动无需再次启动,启动Tomcat执行命令

# /opt/apache-tomcat-9.0.35/bin/startup.sh

  1. Tomcat运行后,将自动对放在webapps目录的war进行解压。
  2. 修改WoniuSalse项目db.properties文件,执行命令:

# vi /opt/apache-tomcat-9.0.35/webapps/WoniuSales/WEB-INF/classes/db.properties

说明:Jdbc:msyql://server_IP:port(服务器IP和数据库的端口号)

      db_username=root(“root”为访问数据库使用的用户名)

                 db_password=123456(“123456”为访数据库使用的密码)

之后重启tomcat;

访问项目。

docker命令

docker 启动:systemctl docker start

docker 停止:systemctl docker stop

docker 重启:systemctl docker restart

docker 容器启动:docker container start <容器_id/容器_name>

进入服务:docker exec -it <容器_id/容器_name> /bin/bash


centos 7 关闭防火墙:

  • 查看防火墙状态:systemctl status firewalld
  • 停止防火墙:systemctl stop firewalld
  • 禁止firewall开机启动:systemctl disable firewalld

 


版权声明:本文为weixin_46489081原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。