应该怎么样构建Nginx+Tomcat+MYSQLDocker容器
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇文章给大家主要讲的是关于应该怎么样构建Nginx+Tomcat+MYSQLDocker容器的内容,感兴趣的话就一起来看看这篇文章吧,相信看完应该怎么样构建Nginx+Tomcat+MYSQLDoc
千家信息网最后更新 2026年11月03日应该怎么样构建Nginx+Tomcat+MYSQLDocker容器
本篇文章给大家主要讲的是关于应该怎么样构建Nginx+Tomcat+MYSQLDocker容器的内容,感兴趣的话就一起来看看这篇文章吧,相信看完应该怎么样构建Nginx+Tomcat+MYSQLDocker容器对大家多少有点参考价值吧。
一、构建Nginx容器
Nginx是一款轻量级的WEB云服务器,也是一款优秀的反向代理云服务器。Nginx服务占用内存少,并发能力强,深受国内外用户的欢迎。
1.下载基础镜像
[root@localhost ~]# docker pull docker.io/lvzhenjiang/centos7//下载一个创建Nginx镜像的基础centos镜像
2.建立工作目录
[root@localhost ~]# mkdir nginx[root@localhost ~]# cd nginx/
3.创建并编写Dockerfile文件
[root@localhost nginx]# vim DockerfileFROM lvzhenjiang/centos7 //设置基础镜像MAINTAINER lzj //维护者信息RUN yum -y install wget prce-devel net-tools gcc zlib zlib-devel make openssl-devel //安装所需依赖包RUN wget http://nginx.org/download/nginx-1.14.2.tar.gz//获取nginx源码包RUN tar zxf nginx-1.14.2.tar.gzWORKDIR nginx-1.14.2//解压之后进入解压后的目录RUN ./configure --prefix=/usr/local/nginx && make && make install//编译安装EXPOSE 80 //开启80端口EXPOSE 443 //开启443端口RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf//修改nginx服务配置文件,以非daemon(守护进程)方式启动ADD run.sh /run.sh //上传本地编写的脚本到容器中RUN chmod 775 /run.sh //赋予脚本执行权限CMD ["/run.sh"] //启动容器时,执行run.sh脚本
4.编写执行脚本内容
[root@localhost nginx]# vim run.sh#!/bin/bash //声明使用的shell/usr/local/nginx/sbin/nginx //使用nginx自带的脚本启动nginx
5.生成镜像
[root@localhost nginx]# ls //确保Dockerfile文件和启动脚本在同一目录下Dockerfile run.sh[root@localhost nginx]# docker build -t nginx:v1 .//使用当前目录下的Dockerfile文件生成新的镜像,名为nginx:v1
6.启动容器进行测试
[root@localhost nginx]# docker run -dit -p 12345:80 --name nginx nginx:v1//使用新生成的镜像创建一个名为nginx的容器,并将容器中的80端口映射到宿主机的12345端口[root@localhost nginx]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES1c73bb591e84 nginx:v1 "/run.sh" 31 minutes ago Up 31 minutes 443/tcp, 0.0.0.0:12345->80/tcp nginx//确认容器已经正常运行并已经映射端口
测试结果:
nginx容器搭建完成!
二、构建Tomcat容器
Tomcat是一个免费开源的轻量级Web云服务器,在中小型企业和并发量不高的场合普遍使用,是开发和调试JSP程序的首选。
1.下载基础镜像
[root@localhost ~]# docker pull docker.io/lvzhenjiang/centos7//下载一个创建Nginx镜像的基础centos镜像
2.创建工作目录
因为tomcat需要java的环境,所以要下载JDK软件包
[root@localhost ~]# mkdir tomcat[root@localhost ~]# cd tomcat/
3.编写Dockerfile文件
[root@localhost tomcat]# vim Dockerfile FROM lvzhenjiang/centos7 //基础镜像MAINTAINER lzj //维护者信息ADD jdk1.8.0_91 /usr/local/jdk-8u91ENV JAVA_HOME /usr/local/jdk-8u91ENV JAVA_BIN /usr/local/jdk-8u91/binENV JRE_HOME /usr/local/jdk-8u91/jreENV PATH $PATH:/usr/local/jdk-8u91/bin:/usr/local/jdk-8u91/jre/binENV CLASSPATH /usr/local/jdk-8u91/jre/bin:/usr/local/jdk-8u91/lib:/usr/local/jdk-8u91/jre/lib/charsets.jar//设置JDK环境变量RUN yum -y install wgetRUN wget http://us.mirrors.quenda.co/apache/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz//获取tomcat软件包RUN tar zxf apache-tomcat-9.0.27.tar.gzRUN mv apache-tomcat-9.0.27 /usr/local/tomcat//解压之后,并将解压后的目录移动到指定的位置EXPOSE 8080//开启8080端口ADD run.sh /run.shRUN chmod 775 /run.shCMD ["/run.sh"] //启动容器时,执行脚本
4.编写启动脚本
[root@localhost tomcat]# vim run.sh #!/bin/bash/usr/local/tomcat/bin/startup.sh //使用tomcat服务自带的脚本启动服务tailf /run //让启动脚本始终运行
5.使用Dockerfile文件生成镜像
[root@localhost tomcat]# lsDockerfile jdk1.8.0_91 run.sh//确保Dockerfile文件中所需的东西全在这个目录下[root@localhost tomcat]# docker build -t tomcat:v1 .//使用当前目录的Dockerfile文件生成名为tomcat:v1的镜像
6.运行容器并验证
[root@localhost tomcat]# docker run -dit -p 12344:8080 --name tomcat tomcat:v1//使用新生成的进行创建一个名为tomcat的容器,并将容器中的8080端口映射到宿主机的12344端口[root@localhost tomcat]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES1ffc46084d84 tomcat:v1 "/run.sh" 10 minutes ago Up 10 minutes 0.0.0.0:12344->8080/tcp tomcat//确保容器已经启动,并已经映射端口
访问测试:
tomcat容器搭建完成!
三、构建MySQL容器
MySQL是当下最流行的关系型数据库,所使用的SQL语言是用于访问数据库的最常用标准化语言,MySQL具有体积小、速度快、成本低的优势,成为中小型企业首选的数据库。
1.下载基础镜像
[root@localhost ~]# docker pull docker.io/lvzhenjiang/centos6//下载centos6的基础镜像作为构建MySQL的基础镜像
2.创建工作目录
[root@localhost ~]# mkdir mysql[root@localhost ~]# cd mysql/
3.创建Dockerfile文件
[root@localhost mysql]# vim DockerfileFROM lvzhenjiang/centos6 //基础镜像MAINTAINER lzj //维护者信息RUN yum -y install mysql mysql-server //安装mysqlRUN /etc/init.d/mysqld start && \mysql -e "grant all privileges on *.* to 'root'@'%' identified by '123456';"&&\mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by '123456';"//启动MySQL服务,并授权用户EXPOSE 3306 //开启3306端口CMD ["mysqld_safe"] //使用MySQL自带的启动脚本启动服务
4.生成镜像
[root@localhost mysql]# lsDockerfile[root@localhost mysql]# docker build -t mysql:v1 .//使用当前目录下的Dockerfile文件生成名为mysql:v1的镜像
5.创建容器并测试
[root@localhost mysql]# docker run -dit -p 12343:3306 --name=mysql mysql:v1//使用mysql:v1的镜像生成一个名为mysql的容器,并映射容器中的3306端口都宿主机的12343端口[root@localhost mysql]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESc356d5b35167 mysql:v1 "mysqld_safe" 4 seconds ago Up 3 seconds 0.0.0.0:12343->3306/tcp //确认容器已经正常运行,并已经启动端口映射
宿主机进行测试:
[root@localhost ~]# yum -y install mysql //首先安装mysql命令[root@localhost ~]# mysql -u root -h 127.0.0.1 -P 12343 -p123456Welcome to the MariaDB monitor. Commands end with ; or \g.Your MySQL connection id is 1Server version: 5.1.73 Source distributionCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MySQL [(none)]> //访问成功
以上关于应该怎么样构建Nginx+Tomcat+MYSQLDocker容器详细内容,对大家有帮助吗?如果想要了解更多相关,可以继续关注我们的行业资讯板块。
容器
镜像
端口
脚本
基础
文件
目录
服务
生成
测试
宿主
宿主机
运行
信息
内容
数据
数据库
服务器
维护者
并将
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广州万易互联网科技有限公司
湖南永感互联网科技有限公司
互联网科技公司华为
互联网属科技
互联网科技资迅
互联网金融 科技
猪兼强互联网科技
狮子座互联网科技
互联网 视角下的科技创新
哈尔滨新华互联网科技
深圳卡尔迅互联网科技有限公司怎么样
成都互联网科技公司100强
互联网营销推广黑科技
互联网科技资金流入
21世纪互联网科技成就
互联网领先科技宣传片
半导体行业属于互联网高科技类吗
全球科技与互联网公司市值变化
互联网科技企业商标注意事项
互联网科技的前景
科技互联网企业
世界互联网领先科技成果
腾讯科技 互联网女皇
科技互联网公司logo
互联网 视角下的科技创新
伴你行互联网科技有限公司
互联网科技大会案例
上海科技产业互联网平台
中国互联网有什么科技
恒生互联网科技趋势