docker制作Nginx镜像

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

1.Dockerfile文件

FROM docker.io/caio2k/centos7:latest
MAINTAINER Ops_An [email protected]
#定义软件版本及编译工具
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 && echo "a" |passwd --stdin root
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:可以让容器的时间与宿主机同步

你可能感兴趣的:(Docker)