使用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 Dockerfile

FROM 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 Dockerfile

FROM 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端口

[[email protected] bin]#cd /usr/local/tomcat8/bin
[[email protected] 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 Dockerfile

FROM 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

原文地址:http://blog.51cto.com/13641879/2160007

时间: 2024-08-01 10:04:48

使用Dockerfile构建Nginx,Tomcat,MySQL镜像的相关文章

Docker构建nginx+uwsgi+flask镜像(二)

Dockerfile搭建环境并打包应用 在上一章Docker构建nginx+uwsgi+flask镜像(一)的学习中,我们学会用命令行一句一句在alpine环境中搭建nginx+uwsgi+flask服务,但这体现不了Docker为我们带来的便利,而本章,我们将通过Dockerfile来制作基础镜像和打包应用,因此会有两个Dockerfile文件. 我们先来写第一个Dockerfile文件,这个文件负责搭建运行环境,运行环境需要包括:nginx.uwsgi.Python3: # 配置基础镜像 F

Linux深入篇之四:构建Nginx+Tomcat动静分离架构

Linux深入篇之四:构建Nginx+Tomcat动静分离架构 Nginx动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离.严格意义上说应该是:动态请求跟静态请求分开,可以理解成使用Nginx处理静态页面,Tomcat.Resin处理动态页面. 动静分离从目前实现角度来讲大致分为两种: 一种是纯粹的把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案: 另外一种方法就是动态跟静态文件混合在一起发布,通过nginx来分开. 具体怎么来实现

构建容器Nginx+Tomcat+MySQL

博文大纲: 一.构建Nginx容器 二.构建Tomcat容器 三.构建MySQL容器 注意:一定要配置宿主机可以连接Internet,因为在构建容器的过程中,很多资源需要去互联网找. 一.构建Nginx容器 Nginx是一款轻量级的web服务器,也是一个优秀的反向代理服务器.Nginx服务占用内存少,并发能力强,下面是构建Nginx容器的具体操作: [[email protected] ~]# docker pull centos #下载centos 7的基础镜像,该镜像也将会被后面构建的Tom

Docker在Centos下使用Dockerfile构建远程Tomcat和Jenkins镜像

镜像构建准备环境原料 构建CentOS Docker tomcat镜像 Dockerfile文件内容: FROM centos:latest MAINTAINER boonya <[email protected]> # now add java and tomcat support in the container ADD jdk-8u121-linux-x64.tar.gz /usr/local/ ADD apache-tomcat-8.5.16.tar.gz /usr/local/ #

dockerfile构建nginx镜像

Dockerfile是一个文本格式的配置文件,用户可以使用dockerfile来快速创建自定义的镜像. Dockerfile指令说明 分类 指令 说明 配置指令 ARG 定义创建镜像过程中使用的变量 配置指令 FROM 指定镜像创建的基础镜像 配置指令 LABEL 为生成的镜像添加元数据标签信息 配置指令 EXPOSE 声明镜像内服务监听的端口 配置指令 ENV 指定环境变量 配置指令 ENTRYPOINT 指定镜像的默认入口指令 配置指令 VOLUME 创建一个数据卷挂载点 配置指令 USRE

使用dockerfile构建nginx镜像 转

docker构建镜像的方法:   commit.dockerfile 1.使用commit来构建镜像: commit是基于原有镜像基础上构建的镜像,使用此方法构建镜像的目的:保存镜像里的一些配置信息和修改的信息.相当于一个镜像的快照. 2.使用dockerfile来构建镜像: dockerfile是快速构建所需(自定义)镜像. dockerfile的指令: FROM:指定基础镜像(FROM是必备的指令,并且必须为第一条指令). RUN: 用来执行命令行命令.其基本格式: shell格式: RUN

构建Nginx+Tomcat+MYSQLDocker容器实战

Docker在运行一个容器之前,需要以镜像作为基础环境,可以说镜像是整个Docker容器创建的关键,而创建镜像的3中方法中基于Dockerfile文件创建最为灵活. Dockerfile可以看作一个被Docker程序锁解释翻译的脚本,是一组命令集合而成的,每条命令都对应一条操作指令,由Docker翻译成Linux下的具体命令.用户可以通过自定义其内容来快速创建镜像. 博文大纲:一.搭建Nginx容器二.搭建Tomcat容器三.搭建MySQL容器 一.构建Nginx容器 Nginx是一款轻量级的W

docker-compose入门示例:一键部署 Nginx+Tomcat+Mysql

整体环境配置 整体环境的配置,如果一个一个 Dockerfile 去写,那么是相当麻烦的,好在 Docker 有一个名为 Docker-Compose 的工具提供,我们可以使用它一次性完成整体环境的配置: 首先我们看看 docker-compose.yml 配置文件的内容:version: "3"services:  mysql:    container_name: mysql    image: 192.168.1.30:5000/mysql:5.7                

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

随着主流Nginx WEB服务器的发展,现在基于Nginx的WEB服务器已广泛应用于各大互联网企业.今天我们来使用docker构建我们的Linux+Nginx+Tomcat动静分离服务器. 1)    启动docker镜像 查看当前系统存在的镜像,我这里为centos6.6,大家可以参考我第一篇文章进行下载相应的镜像文件,然后启动. 启动方式如下:   docker run -i -t  centos6.6:v2 /bin/bash 然后进入新的docker容器里,查看ip为172.17.0.6