获取nginx源码包, 进入到/opt/dockerfile/web/nginx/目录下,考虑到后期可能还会有其他版本的nginx镜像,因此也可以创建专门给nginx1.23.3的目录,进入目录后通过nginx官网获取nginx1.23.3版本源码包。
mkdir nginx-1.23.3wget http://nginx.org/download/nginx-1.23.3.tar.gz
接下来创建Dockerfile及nginx.1.23.3-build-command.sh文件
Dockerfile#Base image for nginx1.23.3FROM 192.168.3.107/registry/centos7.9-base:v1.0MAINTAINER "yanming_sun@njziqixu.com"ADD nginx-1.23.3.tar.gz usr/local/srcRUN cd usr/local/src/nginx-1.23.3 && yum -y install pcre-devel openssl openssl-devel zlib zlib-devel libxml2 libxml2-dev libxslt-devel gd gd-devel libgeoip-dev GeoIP-devel.x86_64 && ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-file-aio --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module --with-http_geoip_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_stub_status_module && make && make install
nginx.1.23.3-build-command.sh#!/bin/bashTAG=$1docker build -t 192.168.3.107/registry/nginx1.23.3:${TAG} .运行nginx.1.23.3-build-command.shbash nginx.1.23.3-build-command.sh v1.0
运行中

完成

验证镜像可用性,进入容器后运行nginx
docker run -it --rm -p 5000:80 --name cat 192.168.3.107/registry/nginx1.23.3:v1.0
使用软连接来连接(相当于在bin文件生成一个快捷入口
ln -s usr/local/nginx/sbin/nginx usr/local/bin
发现/usr/local/bin多了nginx这个文件,然后再去使用nginx -t 发现报错

解决办法:
useradd nginx
再次测试

文章转载自数据中心知识,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




