dockerfile构建nginx镜像

Dockerfile是一个文本格式的配置文件,用户可以使用dockerfile来快速创建自定义的镜像。

Dockerfile指令说明

分类 指令 说明
配置指令 ARG 定义创建镜像过程中使用的变量
配置指令 FROM 指定镜像创建的基础镜像
配置指令 LABEL 为生成的镜像添加元数据标签信息
配置指令 EXPOSE 声明镜像内服务监听的端口
配置指令 ENV 指定环境变量
配置指令 ENTRYPOINT 指定镜像的默认入口指令
配置指令 VOLUME 创建一个数据卷挂载点
配置指令 USRE 指定容器运行时的用户名和UID
配置指令 WORKDIR 配置工作目录
配置指令 ONBUILD 创建子镜像时指定自动执行的操作指令
配置指令 STOPSIGNAL 指定退出的信号值
配置指令 HEALTHCHECK 配置所启动容器如何进行健康检查
操作指令 RUN 运行指定命令
操作指令 CMD 启动容器时指定默认执行的命令
操作指令 ADD 添加内容到启动镜像
操作指令 COPY 复制内容到镜像

下面我们来使用dockerfile构建一个nginx镜像
1、首先我们拉取一个centos镜像作为我们的基础镜像

2、创建一个目录存放我们的dockerfile文件

[[email protected] opt]# cd nginx/
[[email protected] nginx]# vim dockerfile
#指定的基础镜像
FROM centos
#添加用户信息
MAINTAINER this is test nginx image
#下载nginx环境包
RUN yum install wget proc-devel net-tools gcc zlib zlib-devel make openssl-devel -y
#下载nginx软件包,并解压
RUN wget http://nginx.org/download/nginx-1.14.2.tar.gz
RUN tar zxvf nginx-1.14.2.tar.gz
#配置工作目录
WORKDIR nginx-1.14.2
RUN ./configure --prefix=/usr/local/nginx && make && make install
#声明http和https的端口
EXPOSE 80
EXPOSE 443
#添加nginx启动脚本到容器中
ADD run.sh /run.sh
RUN chmod 755 /run.sh
CMD ["/run.sh"]

3、添加run.sh启动脚本

[[email protected] nginx]# vim run.sh
#!/bin/bash
/usr/local/nginx/sbin/nginx

4、构建镜像

[[email protected] nginx]# docker build -t nginx:test . #这里结尾有个点!!

5、镜像生成和运行
查看镜像

运行镜像

浏览验证

如果浏览器上不能浏览到网页,可能是nginx容器中nginx未启动

[[email protected] nginx]# docker exec -it 8730a8c80df6 /bin/bash
[[email protected] nginx-1.14.2]# ls
CHANGES CHANGES.ru LICENSE Makefile README auto conf configure contrib html man objs src
[[email protected] nginx-1.14.2]# cd /usr/local/nginx/sbin/
[[email protected] sbin]# ls
nginx
[[email protected] sbin]# ./nginx

然后进行网页验证即可

原文地址:http://blog.51cto.com/13760226/2328947

时间: 2024-09-30 10:15:51

dockerfile构建nginx镜像的相关文章

使用dockerfile构建nginx镜像 转

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

Dockerfile构建nginx镜像以及使用nginx -g "daemon off;"方式前台运行

编写安装nginx的shell脚本 #!/bin/bash yum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel cd /usr/local/nginx-1.16.0 ./configure --prefix=/usr/local/nginx && make && make install dockerfile FROM centos:7 ADD nginx-1.16.0.tar.gz /usr/lo

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

dockerfile构建nginx并结合php

查看nginx和php的目录结构: [[email protected] docker_demo]# tree nginx nginx ├── Dockerfile ├── fastcgi_params ├── nginx-1.8.1.tar.gz ├── nginx.conf └── www.conf [[email protected] docker_demo]# tree php php ├── Dockerfile ├── init.d.php-fpm ├── libmcrypt-2.5

8.Docker之使用dockerfile创建nginx镜像

一.前言 看了很多人的dockerfile,都是长篇大论,解释的又很少,对于初学者来说根本不知道指令的意思,哪怕知道指令的意思,也不知道指令后面配置的一大串东西来自于哪里,而这一大串又无需去记忆,例如: 开头的RUN指令都能根据dockerfile的指令说明可以知道该指令是干嘛用的,但是后面这一串这么长的东西又是来自于哪里? 所以在编写dockerfile之前,你必须懂的nginx(该文章是基于dockerfile创建nginx镜像)在linux上的安装流程,否则,需要安装什么依赖等都不知道,就

使用dockerfile构建docker镜像

一,简单介绍 docker镜像构建方式有两种方式,第一种是启动基础容器之后,进入容器安装所需要的文件,配置,变量等,完成后使用docker commit提交成为一个新的镜像,第二种则是通过编写dockerfile文件,进行镜像制作,使用docker  build命令进行镜像的构建.第一种方式可以看到镜像的生成过程,但是不便于自动化:第二种方式则比较直观,可以结合devops实现自动打包发布,本文则介绍如何利用dockerfile实现docker镜像的制作. Dockerfile描述了组装镜像的步

dockerfile 搭建nginx镜像

? 昨晚看了看dockerfile的内容,想自己玩一玩.折腾了一晚上,到今天才顺利构建出来(弱鸡如我~). 首先,我新建了一个文件夹,并且放进了nginx源码包,建立了一个Dockerfile. Dockerfile内容如下: FROM centos:centos7 #基础镜像 MAINTAINER eryoung2 [email protected] #维护人 RUN ping -c 1 baidu.com #测试DNS RUN yum -y install gcc make pcre-dev

利用Dockerfile构建各种镜像

docker 使用Dockerfile 创建带jdk 和tomcat的镜像 http://blog.csdn.net/world_ding/article/details/46638371

使用Jenkins构建Docker镜像

Jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上.同时Jenkins能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性.并且Jenkins提供了大量的插件,能够完成各种任务. 今天我需要使用Jenkins构建一个Docker镜像,然后自动push到docker registry中.到了docker registry中,后面测试人员就可以把镜像发布到测试环境,测试如