dockerfile構建nginx鏡像
阿新 • • 發佈:2018-12-11
size top eve 端口 usr blog sign col 環境 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文件
[root@localhost opt]# cd nginx/
[root@localhost 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.2RUN ./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啟動腳本
[root@localhost nginx]# vim run.sh
#!/bin/bash
/usr/local/nginx/sbin/nginx
4、構建鏡像
[root@localhost nginx]# docker build -t nginx:test . #這裏結尾有個點!!
5、鏡像生成和運行
查看鏡像
運行鏡像
瀏覽驗證
如果瀏覽器上不能瀏覽到網頁,可能是nginx容器中nginx未啟動
[root@localhost nginx]# docker exec -it 8730a8c80df6 /bin/bash
[root@8730a8c80df6 nginx-1.14.2]# ls
CHANGES CHANGES.ru LICENSE Makefile README auto conf configure contrib html man objs src
[root@8730a8c80df6 nginx-1.14.2]# cd /usr/local/nginx/sbin/
[root@8730a8c80df6 sbin]# ls
nginx
[root@8730a8c80df6 sbin]# ./nginx
然後進行網頁驗證即可
dockerfile構建nginx鏡像