应该怎么样构建Nginx+Tomcat+MYSQLDocker容器
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,本篇文章给大家主要讲的是关于应该怎么样构建Nginx+Tomcat+MYSQLDocker容器的内容,感兴趣的话就一起来看看这篇文章吧,相信看完应该怎么样构建Nginx+Tomcat+MYSQLDoc
千家信息网最后更新 2025年02月01日应该怎么样构建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安全错误
数据库的锁怎样保障安全
中国高校科研数据库使用情况
金牌讲师java数据库
我的世界虎牙服务器闪退
html 显示数据库图片
数据库程序设计学生教务系统
甘肃金昌网络安全法集中宣传
广州的app软件开发公司
IDEA如何连接内部数据库
我国人民对数据库的了解了解
软件开发框架培训辅导
关系数据库作用
王家庄附近桥桥通仙桃数据库
腾讯数据库聊天记录查询
网络安全服务人员管理
c 写数据库需要互斥吗
大量数据导入数据库时不能用函数
互联网区块链科技
算法和数据库
浙江嵌入式软件开发要求
数据库增量同步6
金牌讲师java数据库
扫描服务器是否存在挖矿
数据库怎么查询下划线
ug输入服务器名
比个云服务器
关系数据库作用
单节点数据库升级rac
架设ftp服务器软件排名
我的世界重启服务器
网络安全管理员竞聘演讲稿