使用Dockerfile构建Nginx,Tomcat,MySQL镜像
实验环境说明
本机IP地址:192.168.10.157
构建mysql镜像时,验证的主机IP;192.168.10.149
构建Nginx镜像
1、下载基础镜像——centos镜像
docker pull centos
2、创建工作目录
mkdir /opt/nginx
cd /opt/nginx/
3、创建并编写Dockerfile文件
vim DockerfileFROM centos
MAINTAINER this is nginx image <xxy>
RUN yum install -y wget proc-devel net-tools gcc zlib zlib-devel make openssl-devel
RUN wget http://nginx.org/download/nginx-1.9.7.tar.gz
RUN tar zxvf nginx-1.9.7.tar.gz
WORKDIR nginx-1.9.7
RUN ./configure --prefix=/usr/local/nginx && make && make install
EXPOSE 80 //http
EXPOSE 443 //https
RUN echo "daemon off;">>/usr/local/nginx/conf/nginx.conf //关闭守护进程
WORKDIR /opt/nginx
ADD run.sh /run.sh //将宿主机中的run.sh添加到容器中
RUN chmod 755 /run.sh
CMD ["/run.sh"]
4、编写执行脚本内容
vim run.sh#!/bin/bash
/usr/local/nginx/sbin/nginx
5、生成镜像
docker build -t nginx:new .docker images //查看镜像
6、启动容器进行测试
docker run -d -P nginx:new //启动容器,-p随机指定宿主机端口映射容器中nginx服务相关端口docker ps -a //查看容器
浏览器输入:http://192.168.10.157:32769/
构建Tomcat镜像
1、创建工作目录,将相关软件包解压到工作目录下
mkdir /opt/tomcat //创建工作目录
cp jdk-8u91-linux-x64.tar.gz /opt/tomcat/
cp apache-tomcat-8.5.16.tar.gz /opt/tomcat/ //移动到工作目录cd /opt/tomcat/
tar zxvf jdk-8u91-linux-x64.tar.gz
tar zxvf apache-tomcat-8.5.16.tar.gz //解压软件包
2、创建Dockerfile文件
vim DockerfileFROM centos
MAINTAINER this is tomcat image <xxy>
ADD jdk1.8.0_91 /usr/local/java
ENV JAVA_HOME /usr/local/java
ENV JAVA_BIN /usr/local/java/bin
ENV JRE_HOME /usr/local/java/jre
ENV PATH $PATH:/usr/local/java/bin:/usr/local/java/jre/bin
ENV CLASSPATH /usr/local/java/jre/bin:/usr/local/java/lib:/usr/local/java/jre/lib/charsets.jar
ADD apache-tomcat-8.5.16 /usr/local/tomcat8
EXPOSE 8080
3、生成镜像
docker build -t tomcat:centos .
4、运行容器并验证
docker run --name tomcat01 -p 80:8080 -it tomcat:centos /bin/bash //运行容器,将本地80端口映射到容器的8080端口[root@643488fd23c4 bin]#cd /usr/local/tomcat8/bin
[root@643488fd23c4 bin]#./startup.sh //容器中启动Tomcat
浏览器输入:http://192.168.10.157/
构建MySQL镜像
1、下载镜像,建议使用centos6镜像
docker pull guyton/centos6
2、创建工作目录
mkdir /opt/mysql
cd /opt/mysql
3、创建Dockerfile文件
vim DockerfileFROM guyton/centos6
MAINTAINER this is msyql images <xxy>
RUN yum install mysql mysql-server
RUN /etc/init.d/mysqld start &&\
mysql -e "grant all privileges on *.* to 'root'@'%' identified by 'abc123';" &&\
mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by 'abc123';" //root在本地,非本地登录时都使用abc123密码
EXPOSE 3306
CMD ["mysqld_safe"]
4、生成镜像
docker build -t centos6:mysql .docker images //查看镜像
5、运行容器并验证
docker run --name=mysqlserver -d -P centos6:mysql //运行容器,随机指定本机端口映射容器mysql的端口docker ps -a //查看容器
在装有mysql服务的主机上,或者在本机安装mysql服务,登录容器的mysql数据库进行验证
mysql -h 192.168.10.157 -u root -P 32770 -pabc123
转载于:https://blog.51cto.com/13641879/2160007
使用Dockerfile构建Nginx,Tomcat,MySQL镜像相关推荐
- Dockerfile构建nginx镜像
Dockerfile构建nginx镜像[root@bogon ~]# mkdir /opt/docker-file [root@bogon ~]# cd /opt/docker-file/ [root ...
- (六)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 常用命令总结
因为在网上发现系统性.严谨(特别是在安全方面)的Linux部署方面的参考文章很少,于是整理以下六篇Linux环境部署的系列性文章,其为本人在实践中,完整的搭建一个基于Linux系统上Centos+Ng ...
- (三)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - Nginx环境搭建
因为在网上发现系统性.严谨(特别是在安全方面)的Linux部署方面的参考文章很少,于是整理以下六篇Linux环境部署的系列性文章,其为本人在实践中,完整的搭建一个基于Linux系统上Centos+Ng ...
- (四)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 安装Tomcat和JDK 以及 Nginx与Tomcat整合
因为在网上发现系统性.严谨(特别是在安全方面)的Linux部署方面的参考文章很少,于是整理以下六篇Linux环境部署的系列性文章,其为本人在实践中,完整的搭建一个基于Linux系统上Centos+Ng ...
- 这就是你日日夜夜想要的docker!!!---------Dockerfile构建nginx、Tomcat、MySQL镜像
文章目录 构建nginxDockerfile镜像 构建DockerfileTomcat 构建Dockerfile MySQL镜像 构建nginxDockerfile镜像 这里的nginx软件包使用ng ...
- 构建容器Nginx+Tomcat+MySQL
博文大纲: 一.构建Nginx容器 二.构建Tomcat容器 三.构建MySQL容器 注意:一定要配置宿主机可以连接Internet,因为在构建容器的过程中,很多资源需要去互联网找. 一.构建Ngin ...
- Dockerfile构建Nginx镜像、镜像优化(多阶段构建,最小化镜像构建)
Dockerfile创建镜像 Dockerfile 有以下指令选项: FROM MAINTAINER RUN CMD EXPOSE ENV ADD COPY ENTRYPOINT VOLUME USE ...
- Docker构建Nginx+Tomcat动静分离架构
随着主流Nginx WEB服务器的发展,现在基于Nginx的WEB服务器已广泛应用于各大互联网企业.今天我们来使用docker构建我们的Linux+Nginx+Tomcat动静分离服务器. 1) ...
- dockerfile构建nginx并结合php
查看nginx和php的目录结构: [root@docker docker_demo]# tree nginx nginx ├── Dockerfile ├── fastcgi_params ├── ...
最新文章
- [云炬创业管理笔记]第二章测试3
- 生态和能力是国内自研操作系统发展的关键
- python代理charles_Mitmproxy + Python 做拦截代理
- Flume实战采集文件内容存入HDFS
- ajax json java_ajax_json
- 正态分布的前世今生:误差分布曲线的确立
- VS2010 C# 调用Web Service
- Android 2.3 Gallery3D添加gif支持——修改代码(三)
- 《计算广告学之内容匹配广告展示广告原理、技术和实践》学习笔记
- html js实现搜索框提示功能,js实现智能提示搜索框
- R语言将 手写数据集 图片数据转为表格数据并主成分分析
- 栈和队列的顺序和链式存储结构
- Fujitsu Diagnostic(硬盘坏道检测工具)v6.8绿色版
- Java周总结之面对对象
- “我曾认为开源是有钱闲人的游戏,不要试图快速从中变现” | 对话《大教堂与集市》译者卫剑钒...
- 6612345超级浏览器 集网页打印、读取身份证、拍照、读取串口等功能为一体的超级浏览器
- 小功能解决小麻烦,福昕PDF阅读器仿真放大镜功能详解
- 今天的云计算机感言,云晨会感言
- 《万用表仪器》的使用
- 前端根据不同的值赋予渐变色
热门文章
- jfinal 获得 webapp 文件下文件路径
- android studio 2.2.3 ndk 添加 C 和 C++ 代码
- 中国团队首次夺冠FPS游戏AI竞赛VizDoom,清华腾讯AI联手
- CVPR官网不堪重负,挂了 | 最佳论文、人生赢家、六千余人参会
- 华盛顿大学成立SAML实验室:陈天奇参与,推进未来AI系统全栈研究
- BBS(仿博客园系统)项目01(项目分析、表结构设计、注册功能实现)
- PHP:打造一个无限极评论模块
- 系统封装教程集合电子书
- 特斯拉要用太阳能满足整座岛全年能源需求
- mongoDB 3.0以前版本 - 入门指南、示例