Dockerfile离线安装Nginx详解

一、Dockerfile使用介绍

Dockerfile是一个普通的文本文件,里面包含了许多可以在命令行接口上执行的用来构建镜像的相关指令,我们通过docker build指令就可以读取Dockerfile文件中的指令并执行自动化镜像构建。

Dockerfile中的命令根据作用分为四类:

1.1、指定基础镜像信息指令:

         FROM

1.2、指定维护者信息指令:

         MAINTAINER

1.3、对镜像操作的指令:

         RUN:后面运行shell命令

         COPY:拷贝本地文件到容器某目录

         ADD:拷贝本地压缩包到容器,拷贝完成后在容器内部自动解压。也支持从url下载文件后拷贝到容器

         VOLUME:指定容器中的某个目录影射到主机上,可以使用docker inspect contained 查看主机上的对应目录

         EXPOSE:指定容器内应用运行的端口号

1.4、容器启动后执行的命令:

         CMD:在容器中执行的命令,若docker run命令后面指定了shell命令,docker file中的CMD指令会被覆盖

         ENTRYPOINT:在容器中执行的命令,该命令执行一次,不会被覆盖 

 

二、nginx示例安装

在宿主机上准备的文件清单:

1、下载源码包

http://nginx.org/download/nginx-1.12.1.tar.gz

2、准备Dockerfile

 在/data/app/目录新建Dockerfile

编辑Dockerfile

---新生成的镜像是基于centos:7镜像---

FROM centos:7

---配置网络代理---

RUN echo "proxy=http://172.16.153.103:3128" >> /etc/yum.conf

---安装操作系统插件 ---

RUN yum -y install vim net-tools bridge-utils firewalld bc iotop bc gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel zip unzip zlib-devel lrzsz tree ntpdate telnet lsof tcpdump wget libevent libevent-devel systemd-devel bash-completion traceroutepsmisc

---创建部署目录---

RUN mkdir -p /data/projects/common/nginx

---创建用户---

RUN useradd nginx -s /sbin/nologin -u 2000

---添加源码包到部署目录并解压---

ADD nginx-1.12.1.tar.gz /data/projects/common

---源码编译并启动程序拷贝到系统目录---

RUN cd /data/projects/common/nginx-1.12.1 && ./configure --prefix=/data/projects/common/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module && make && make install && ln -sv /data/projects/common/nginx/sbin/nginx /usr/sbin/nginx

---默认启动命令---

CMD ["nginx","-g","daemon off;"]

---暴露端口---

EXPOSE 80

EXPOSE 443
 

三、根据Dockerfile生成镜像

 docker build -t nginx:linux .

执行完成之后 查看镜像

docker images

四、启动

docker run -it -p 8081:80 --name nginxtest nginx:linux 

五、测试

1、在宿主机测试下是否能够访问

telnet  ip地址 8081

2、浏览器访问:宿主机ip:8081 
 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值