Docker:搭建tomcat+mysql+web+nginx运行环境
来源:互联网 发布:参不敏 何足以知之 编辑:程序博客网 时间:2024/05/16 14:34
1. 镜像准备
采用基础镜像为CentOS,由于公司网络网络限制,连接不上Docker Hub,采用离线下载,下载地址为:centos-6-x86_64.tar.gz,下载到本地以后采用docker import 命令导入。
cat centos-6-x86_64.tar.gz | docker import - centos:latest2. 搭建tomcat
tomcat版本选择tomcat 8,将下载好的jdk8和tomcat包解压到/opt/web目录下,该目录将作为数据卷挂载到容器中,用于tomcat基本环境的安装。
启动一个基本容器
JDK设置好以后,编写tomcat开机启动脚本tomcat.sh
启动一个基本容器
docker run -ti --rm -v /opt/web:/opt/web --name tomcat centos:latest /bin/bash从数据卷复制文件到容器中
mkdir /opt/modulescp -r /opt/web/jdk /opt/modules/ //将jdk8复制到容器里cp -r /opt/web/tomcat /opt/modules/ //将tomcat8复制到容器里在/etc/profile文件末尾添加JDK环境变量
export JAVA_HOME=/opt/modules/jdkexport PATH=$PATH:$JAVA_HOME/bin这里可以将JDK环境变量设置放到tomcat开机启动脚本中,我在配置过程中将JDK环境变量放在/etc/profile中,然而在容器中环境变量并不生效,我就在/etc/rc.d/rc.local中添加了source /etc/profile但是也不生效,最后在~/.bashrc中添加了source /etc/profile才生效,我也不知道什么原因(︶︿︶)。
JDK设置好以后,编写tomcat开机启动脚本tomcat.sh
#!/bin/bash#export JAVA_HOME=/opt/modules/jdk#export PATH=$PATH:$JAVA_HOME/binsh /opt/modules/tomcat/bin/catalina.sh run脚本放到/root目录下,添加运行权限chmod u+x /root/tomcat.sh,到这里tomcat基础环境配置完毕,保存为镜像。
docker commit tomcat centos:tomcat编写Dockerfile文件
FROM centos:tomcatMAINTAINER blackEXPOSE 8080CMD ["/root/tomcat.sh"]生成镜像
docker build -t tomcat:latest .启动tomcat容器
docker run -d --name tm1 -p 7001:8080 -v /opt/web:/opt/web tomcat:latestdocker run -d --name tm2 -p 7002:8080 -v /opt/web:/opt/web tomcat:latest在浏览器中输入http://宿主主机IP:7001或7002查看tomcat容器是否启动成功。
3. 搭建mysql
编写Dockerfile文件
编写Dockerfile文件
FROM centos:latestMAINTAINER blackRUN yum install -y mysql-server mysqlRUN /etc/init.d/mysqld start &&\ mysql -e "grant all privileges on *.* to 'root'@'%' identified by 'asd123';" &&\ mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by 'asd123';" &&\ mysql -u root -pasd123 -e "show databases;"RUN sed -i '/\\[mysqld\\]/a skip-name-resolve' /etc/my.cnf //注意:将双反斜线\\改为单反斜线\EXPOSE 3306CMD ["/usr/bin/mysqld_safe"]
生成镜像
docker build -t mysql .启动tomcat容器
docker run -d --name mysql -p 3306:3306 mysql开启一个终端,mysql -h 宿主主机IP -u root -p 连接测试mysql容器是否启动成功。
4. web项目
5. nginx负载均衡
6. 遇到的问题
0 0
- Docker:搭建tomcat+mysql+web+nginx运行环境
- Docker commit 搭建 Tomcat 运行环境
- Docker搭建JDK,Tomcat运行环境
- 使用 Docker 搭建 Tomcat 运行环境
- 使用 Docker 搭建 Tomcat 运行环境
- Linux下搭建Web项目运行环境Tomcat+Mysql+Jdk
- Linux下搭建Web项目运行环境Tomcat+Mysql+Jdk
- docker搭建php,nginx,mysql环境
- 使用 Docker 搭建 Java Web 运行环境
- 使用 Docker 搭建 Java Web 运行环境
- 使用 Docker 搭建 Java Web 运行环境
- 使用 Docker 搭建 Java Web 运行环境
- 使用 Docker 搭建 Java Web 运行环境
- 使用 Docker 搭建 Java Web 运行环境
- 使用Docker搭建Java Web运行环境
- 使用 Docker 搭建 Java Web 运行环境
- 使用 Docker 搭建 Java Web 运行环境
- 使用 Docker 搭建 Java Web 运行环境
- 六大设计原则之单一职责原则
- JZOJ.4709【NOIP2016提高A组模拟8.17】Matrix
- 计算机视觉相关领域网站整理
- MongoDB高级查询详细
- HIHO #1128 : 二分·二分查找(快速排序一半)
- Docker:搭建tomcat+mysql+web+nginx运行环境
- EL函数库
- 【概念笔记】常用标准类
- warning: non-variable type argument Any in type pattern scala.collection.immutable.Set[Any] (the und
- MongoDB高级查询(二)
- 高中纪中OJ3078. 【备战NOIP2012图论专项模拟试题】无线通讯网
- 生产者消费者问题(多线程完整版)
- 【zzulioj 1919 二分】
- 【jzoj4711】【Binary】【树状数组】