实验环境说明

本机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镜像相关推荐

  1. Dockerfile构建nginx镜像

    Dockerfile构建nginx镜像[root@bogon ~]# mkdir /opt/docker-file [root@bogon ~]# cd /opt/docker-file/ [root ...

  2. (六)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 常用命令总结

    因为在网上发现系统性.严谨(特别是在安全方面)的Linux部署方面的参考文章很少,于是整理以下六篇Linux环境部署的系列性文章,其为本人在实践中,完整的搭建一个基于Linux系统上Centos+Ng ...

  3. (三)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - Nginx环境搭建

    因为在网上发现系统性.严谨(特别是在安全方面)的Linux部署方面的参考文章很少,于是整理以下六篇Linux环境部署的系列性文章,其为本人在实践中,完整的搭建一个基于Linux系统上Centos+Ng ...

  4. (四)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 安装Tomcat和JDK 以及 Nginx与Tomcat整合

    因为在网上发现系统性.严谨(特别是在安全方面)的Linux部署方面的参考文章很少,于是整理以下六篇Linux环境部署的系列性文章,其为本人在实践中,完整的搭建一个基于Linux系统上Centos+Ng ...

  5. 这就是你日日夜夜想要的docker!!!---------Dockerfile构建nginx、Tomcat、MySQL镜像

    文章目录 构建nginxDockerfile镜像 构建DockerfileTomcat 构建Dockerfile MySQL镜像 构建nginxDockerfile镜像 这里的nginx软件包使用ng ...

  6. 构建容器Nginx+Tomcat+MySQL

    博文大纲: 一.构建Nginx容器 二.构建Tomcat容器 三.构建MySQL容器 注意:一定要配置宿主机可以连接Internet,因为在构建容器的过程中,很多资源需要去互联网找. 一.构建Ngin ...

  7. Dockerfile构建Nginx镜像、镜像优化(多阶段构建,最小化镜像构建)

    Dockerfile创建镜像 Dockerfile 有以下指令选项: FROM MAINTAINER RUN CMD EXPOSE ENV ADD COPY ENTRYPOINT VOLUME USE ...

  8. Docker构建Nginx+Tomcat动静分离架构

    随着主流Nginx WEB服务器的发展,现在基于Nginx的WEB服务器已广泛应用于各大互联网企业.今天我们来使用docker构建我们的Linux+Nginx+Tomcat动静分离服务器. 1)    ...

  9. dockerfile构建nginx并结合php

    查看nginx和php的目录结构: [root@docker docker_demo]# tree nginx nginx ├── Dockerfile ├── fastcgi_params ├── ...

最新文章

  1. [云炬创业管理笔记]第二章测试3
  2. 生态和能力是国内自研操作系统发展的关键
  3. python代理charles_Mitmproxy + Python 做拦截代理
  4. Flume实战采集文件内容存入HDFS
  5. ajax json java_ajax_json
  6. 正态分布的前世今生:误差分布曲线的确立
  7. VS2010 C# 调用Web Service
  8. Android 2.3 Gallery3D添加gif支持——修改代码(三)
  9. 《计算广告学之内容匹配广告展示广告原理、技术和实践》学习笔记
  10. html js实现搜索框提示功能,js实现智能提示搜索框
  11. R语言将 手写数据集 图片数据转为表格数据并主成分分析
  12. 栈和队列的顺序和链式存储结构
  13. Fujitsu Diagnostic(硬盘坏道检测工具)v6.8绿色版
  14. Java周总结之面对对象
  15. “我曾认为开源是有钱闲人的游戏,不要试图快速从中变现” | 对话《大教堂与集市》译者卫剑钒...
  16. 6612345超级浏览器 集网页打印、读取身份证、拍照、读取串口等功能为一体的超级浏览器
  17. 小功能解决小麻烦,福昕PDF阅读器仿真放大镜功能详解
  18. 今天的云计算机感言,云晨会感言
  19. 《万用表仪器》的使用
  20. 前端根据不同的值赋予渐变色

热门文章

  1. jfinal 获得 webapp 文件下文件路径
  2. android studio 2.2.3 ndk 添加 C 和 C++ 代码
  3. 中国团队首次夺冠FPS游戏AI竞赛VizDoom,清华腾讯AI联手
  4. CVPR官网不堪重负,挂了 | 最佳论文、人生赢家、六千余人参会
  5. 华盛顿大学成立SAML实验室:陈天奇参与,推进未来AI系统全栈研究
  6. BBS(仿博客园系统)项目01(项目分析、表结构设计、注册功能实现)
  7. PHP:打造一个无限极评论模块
  8. 系统封装教程集合电子书
  9. 特斯拉要用太阳能满足整座岛全年能源需求
  10. mongoDB 3.0以前版本 - 入门指南、示例