docker制作Nginx镜像

博客介绍了使用Docker制作并运行Nginx镜像的步骤。首先创建并进入nginx目录,准备Dockerfile文件、YUM配置文件、启动脚本、nginx源码包,接着制作镜像,最后运行容器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建并进入目录nginx,目录里准备以下材料

1.Dockerfile文件

FROM docker.io/caio2k/centos7:latest
MAINTAINER Ops_An nsd_anqixiang@163.com
#定义软件版本及编译工具
ENV NGINX_VERSION 1.12.2
ENV BUILD_TOOLS gcc pcre-devel openssl-devel make 
COPY local.repo /root/local.repo
ADD nginx-${NGINX_VERSION}.tar.gz /opt
RUN rm -rf /etc/yum.repos.d/* && mv /root/local.repo /etc/yum.repos.d/ \
	&& useradd nginx && yum -y install ${BUILD_TOOLS} && cd /opt/nginx-${NGINX_VERSION} \
	&& ./configure --user=nginx --group=nginx --with-http_ssl_module \
	--with-http_stub_status_module && make && make install 	\
	&& rm -rf /opt/nginx-${NGINX_VERSION}  \
	&& yum clean all
VOLUME /usr/local/nginx
WORKDIR /usr/local/nginx
EXPOSE 80 443 
COPY start.sh /root/start.sh
RUN chmod 777 /root/start.sh
CMD ["/usr/bin/bash", "/root/start.sh"]

2.YUM配置文件

[local_repo]
name=Centos-$releasever-Base
baseurl="ftp://192.168.1.200/centos-1804"
enabled=1
gpgcheck=0

3.启动脚本

#!/bin/bash
/usr/sbin/sshd -D &
/usr/local/nginx/sbin/nginx -g 'daemon off;'

4.nginx源码包

5.制作镜像

docker build -t ops_an/nginx:1.12.2 .

6.运行容器

docker run -itd --net docker01 --ip 10.10.10.50 --name web1 -h web1 \ 
-v /docker_data/nginx/webroot:/usr/local/nginx \
-v /etc/localtime:/etc/localtime ops_an/nginx:1.12.2
说明:--net:指定网桥	--ip:指定固定IP  --name:给容器起个名字
	--h:定义容器启动后的主机名	-v:将宿主机目录挂到容器
	/etc/localtime:可以让容器的时间与宿主机同步
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值