Dockerfile製作編譯安裝nginx的鏡像

Dockerfile製作編譯安裝nginx的鏡像

dockerfile製作編譯安裝

  • 創建nginx目錄
mkdir nginx
#創建nginx的目錄
  • 進入nginx目錄
cd nginx
#進入到nginx目錄
  • 編輯dockerfile文件
vim Dockerfile
#編輯Dockerfile
FROM centos:7
#指向centos7的基礎鏡像
RUN yum -y update
#更新yum源
RUN yum -y install pcre-devel zlib-devel make gcc gcc-c++
#安裝nginx的編譯安裝環境
RUN useradd -M -s /sbin/nologin nginx
#創建nginx的程序型用戶
ADD nginx-1.12.2.tar.gz /opt/
#將nginx-1.12.2.tar.gz到/opt目錄下面
WORKDIR /opt/nginx-1.12.2
#指定當前環境的目錄
RUN ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
#編譯安裝nginx
RUN make && make install
#編譯成二進制文件
RUN ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
#創建軟連接
ENV PATH /usr/local/nginx/sbin:$PATH
#配置當前的環境變量
EXPOSE 80
#開放容器的80端口
EXPOSE 443
#開放容器的443端口
RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf
#關閉nginx的守護進程
WORKDIR /root/nginx
#指定當前的路徑爲/root/nginx
ADD run.sh /run.sh
#從宿主機複製run.sh到當前容器裏面的/run.sh的腳本
RUN chmod 755 /run.sh
#賦予腳本權限
CMD ["/run.sh"]
#開啓容器的時候執行的腳本

vim run.sh
#編輯啓動容器的腳本
#!/bin/bash
/usr/local/nginx/sbin/nginx
  • 將nginx-1.12.2.tar.gz複製到和Dockerfile的一樣的目錄
  • 創建nginx:new的鏡像
docker build -t nginx:new .
#創建nginx:new的鏡像
  • 運行容器
docker run -d -P nginx:new
#運行容器的時候隨機指定端口
docker ps -a
#查看容器的端口指向
  • 測試
在瀏覽器中輸入:IP地址:端口
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章