利用Dockerfile實現nginx的部署



vim Dockerfile
內容如下:
FROM centos:centos7.8.2003  ##選擇centos7.8版本作為基礎鏡像
LABEL maintainer="zhangtiaze <1185673631@qq.com>" version="v1.0"  ##作者信息 
RUN rm -f /etc/localtime && ln -s ../usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \  ##修改容器內的時間為上海時間
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak && \    ## 把官方的源mv改名作為備份
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo && \  ##下載阿里雲源
sed -ri '/mirrors.aliyuncs.com|mirrors.cloud.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo && \ ##把阿里內網源刪除 
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo && \  ##下載阿里的epel源
yum -y install wget vim net-tools iproute psmisc bash-completion lsof tcpdump tree file && \  ##安裝常用工具
rm -rf /var/cache/yum/* && useradd -u 80 -r -s /sbin/nologin www  ##清空yum緩存並且添加www賬戶

docker build -t centos7.8:prod_v1.0 .    制作基於centos7.8的鏡像

利用centos鏡像制作nginx鏡像     ##再利用剛剛做好的鏡像部署nginx
mkdir nginx   
wget http://nginx.org/download/nginx-1.18.0.tar.gz
vim Dockerfile
內容如下:
FROM centos7.8:prod_v1.0
LABEL maintainer="liyusheng <29728496@qq.com>" version="v1.0"
ADD nginx-1.18.0.tar.gz /usr/local/src/
RUN yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel && \
rm -rf /var/cache/yum/* && cd /usr/local/src/nginx-1.18.0 && \
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module \
--with-http_realip_module --with-http_sub_module && make && make install && mkdir -p /data/web && \
echo "nginx is running in docker" > /data/web/index.html && \
sed -ri 's@#(user  )nobody@\1www@' /usr/local/nginx/conf/nginx.conf && \
sed -ri 's@(worker_processes  )1@\1auto@' /usr/local/nginx/conf/nginx.conf && \
sed -ri 's@#(error_log  logs/error.log  )info@\1warn@' /usr/local/nginx/conf/nginx.conf && \
sed -ri '21,25s@#@@' /usr/local/nginx/conf/nginx.conf && \
sed -ri '44s@html@/data/web@' /usr/local/nginx/conf/nginx.conf && \
sed -ri '3a daemon off;' /usr/local/nginx/conf/nginx.conf
EXPOSE 80 443
CMD /usr/local/nginx/sbin/nginx

docker build -t centos7.8:nginx_v1.0 . 

運行一個nginx容器
docker run -d -it --name nginx1 centos7.8:nginx_v1.0

測試
curl 172.17.0.2  ##測試獲取頁面信息 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM