dockerfile nginx+tomcat+mysql_基于Dockerfile构建Nginx、Tomcat、MySQL镜像(含包源)

本文详细介绍了如何使用Dockerfile分别构建Nginx、Tomcat和MySQL的镜像,包括从网上下载Nginx软件包、使用本地软件包构建Tomcat和MySQL镜像的过程。Dockerfile中包含了软件安装、配置、端口暴露等关键步骤,同时也提到了基于Dockerfile构建服务镜像的优势和注意事项。
摘要由CSDN通过智能技术生成

基于Dockerfile构建Nginx、Tomcat、MySQL镜像(含包源)

前言

​ 上篇文章讲述了有关Dockerfile的理论,以及演示了通过其构建的三个镜像服务httpd、sshd以及systemd。本文将结合先前的shell编程与当下的Dockerfile来给出基于Dockerfile构建Nginx、Tomcat以及MySQL模板。

​ 由于时间和篇幅问题,本文将省略build的过程。其中Nginx的构建将基于wget命令从网上下载,后两者将使用本地已有的软件包。

​ 这样的目的一方面是演示多种方式,以及对两种方式的区别,另一方面则是效率问题,从网上获取一般收到影响较大(这个体会将在您build的时候感受出来)。

​ 好了,下面直接给出对应的Dockerfile和相关文件吧。

​ 先给出软件包链接:

基于Dockerfile的Nginx镜像构建

目录结构

[root@localhost nginx]# tree ./

./

├── Dockerfile

└── nginx.sh

0 directories, 2 files

Dockerfile以及其他文件

#基于dockerfile构建nginx镜像

#设置基础镜像

FROM centos:7

#维护该镜像的用户信息

MAINTAINER lokott@123.com

#指令集

#更新及安装相关工具

RUN yum update -y

RUN yum install -y wget lsof telnet net-tools gcc gcc-c++ make pcre pcre-devel zlib zlib-devel

#从官网上下载nginx软件包源并解压

RUN wget http://nginx.org/download/nginx-1.16.1.tar.gz

RUN tar zxf nginx-1.16.1.tar.gz

#创建nginx用户

RUN useradd -M -s /sbin/nologin nginx

#指定后续RUN指令的工作目录

WORKDIR nginx-1.16.1

#配置参数以及编译nginx

RUN ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module

RUN make && make install

#ENV PATH /usr/local/nginx/sbin:$PATH

#端口设置

EXPOSE 80

EXPOSE 443

#以非daemon方式运行

RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf

#切换工作目录

WORKDIR /root/nginx

ADD nginx.sh /nginx.sh

RUN chmod 755 /nginx.sh

#启动容器执行指令

CMD ["/nginx.sh"]

shell脚本文件

[root@localhost nginx]# cat nginx.sh

#!/bin/bash

/usr/local/nginx/sbin/nginx

对比手工编译的shell脚本是不是非常类似呢?其中需要注意的有两点:

1、从网上下载需要安装wget工具进行软件包下载并且需要执行tar命令解压,而本地有软件包则会自动解压(看下面两个服务构建镜像过程就可以理解了)

2、nginx通过服务是需要关闭后台运行,否则一直会无法正常运行容器

构建及运行

[root@localhost nginx]# docker build -t nginx:centos .

[root@localhost nginx]# docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值