1. 程式人生 > >dockerfile構建nginx映象

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映象作為我們的基礎映象
dockerfile構建nginx映象
dockerfile構建nginx映象

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 . #這裡結尾有個點!!
dockerfile構建nginx映象

5、映象生成和執行
檢視映象
dockerfile構建nginx映象
執行映象
dockerfile構建nginx映象
瀏覽驗證
dockerfile構建nginx映象

如果瀏覽器上不能瀏覽到網頁,可能是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

然後進行網頁驗證即可