1.Dockerfile-nginx安装配置

1.编译安装脚本

mkdir  /data/docker/dockerfile/nginx

cd  /data/docker/dockerfile/nginx

拷贝nginx.1.24.0.tar.gz 到这个目录下

vim Dockerfile,注意文件名必须是这个:

FROM centos:latest1
MAINTAINER this is nginx dockerfile 
# 安装软件
RUN  yum -y install make  zlib zlib-devel pcre pcre-devel  gcc openssl openssl-devel
# 创建用户
RUN groupadd www
RUN useradd -g www www -s /bin/false
 
# 定义Nginx版本号
ENV VERSION 1.24.0
 
# 下载并解压文件
RUN mkdir -p /usr/local/src/
ADD nginx-1.24.0.tar.gz /usr/local/src/
RUN ls -l /usr/local/src/
#在执行 <源文件> 为 tar 压缩文件的话,压缩格式为 gzip、bzip2 以及 xz 的情况下,会自动复制并解压到 <目标路径>。
#RUN tar -zxvf /usr/local/src/nginx-1.24.0.tar.gz -C /usr/local/src/
#RUN tar -zxvf /usr/local/src/nginx-1.24.0.tar.gz -C /usr/local/src/ 
# 创建安装目录
ENV NGINX_HOME /usr/local/nginx
RUN mkdir -p $NGINX_HOME
RUN chown -R www:www $NGINX_HOME
 
# 进入解压目录
WORKDIR /usr/local/src/nginx-$VERSION
 
# 编译安装
RUN ./configure \
	--user=www \
	--group=www \
	--prefix=$NGINX_HOME \
	--with-http_ssl_module \
	--with-http_realip_module \
	--with-http_gzip_static_module \
	--with-http_stub_status_module
RUN make
RUN make install
 
# 备份Nginx的配置文件
RUN cp  $NGINX_HOME/conf/nginx.conf $NGINX_HOME/conf/nginx.conf.default
 
# 设置环境变量
ENV PATH $PATH:$NGINX_HOME/sbin
 
# 创建WebApp目录
#ENV WEB_APP /usr/share/nginx/html
#RUN mkdir -p $WEB_APP
 
# 设置默认工作目录
#WORKDIR $WEB_APP
 
# 暴露端口
EXPOSE 80
EXPOSE 443
 
# 清理压缩包与解压文件
RUN rm -rf /usr/local/src/nginx*
 
CMD $NGINX_HOME/sbin/nginx -g 'daemon off;' -c $NGINX_HOME/conf/nginx.conf

  2.编译dockerfile制作镜像

docker  build   -t nginx:1.24.0   . 

构建的时候可能会报错,报错信息不全面,可以 >build.log 2>&1 ,从日志中查看相信报错。

3.创建挂载卷

docker volume create nginx1.24volume

docker inspect nginx1.24volume
[
    {
        "CreatedAt": "2024-02-05T09:37:53+08:00",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/nginx1.24volume/_data",
        "Name": "nginx1.24volume",
        "Options": null,
        "Scope": "local"
    }
]

在容器卷下创建html文件

[root@rhel1 _data]# netstat -anpl | grep 8090
[root@rhel1 _data]# cd /var/lib/docker/volumes/nginx1.24volume/_data
[root@rhel1 _data]# ll
总用量 0
[root@rhel1 _data]# echo 'im a nginx1.24 nginx ...' >index.html
[root@rhel1 _data]#  

4.创建容器

docker run -p 8080:80 --name nginxStatic  -d -v nginx1.24volume:/usr/local/nginx/html/   nginx:1.24.0 

docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cfe7e1608059 nginx:1.24.0 "/bin/sh -c '$NGINX_…" 30 seconds ago Up 29 seconds 443/tcp, 0.0.0.0:8080->80/tcp, :::8080->80/tcp nginxStatic
[root@rhel1 nginx]#

 

 

 

posted @ 2024-02-05 09:46  old_bird  阅读(31)  评论(0编辑  收藏  举报