- 思路
1、yum或源码编译安装(1.configure 2.make 3.make install)RUN
2、安装哪些模块RUN
https://nginx.org/en/docs/
3、nginx初始化(修改哪些配置)RUN
4、启动CMD ENTRIPOINT
先不急着
Dockerfile,建立一个容器,先在里面测试安装好,ok后再整理到Dockerfile中
//-it参数是在前台运行
docker run -it centos
- Dockerfile-nginx
FROM centos:7
MAINTAINER Steven Qin
RUN yum install -y gcc gcc-c++ make \
openssl-devel pcre-devel gd-devel \
iproute net-tools telnet wget curl && \
yum clean all && \
rm -rf /var/cache/yum/*
RUN wget http://nginx.org/download/nginx-1.15.5.tar.gz && \
tar zxf nginx-1.15.5.tar.gz && \
cd nginx-1.15.5 && \
./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_stub_status_module && \
make -j 4 && make install && \
rm -rf /usr/local/nginx/html/* && \
echo "ok" >> /usr/local/nginx/html/status.html && \
cd / && rm -rf nginx-1.12.2* && \
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ENV PATH $PATH:/usr/local/nginx/sbin
COPY nginx.conf /usr/local/nginx/conf/nginx.conf
WORKDIR /usr/local/nginx
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
- 构建基本镜向命令
docker build -t nginx:v1 -f Dockerfile-nginx .
nginx:v1指定tag版本为v1,Dockerfile-nginx是Dockerfile.指的是当前上下文是当前目录
- 构建项目打包镜向
1、当前目录建立index.html
vim index.html
vim Dockerfile
2、Dockerfile中输入内容
FROM nginx:v1
COPY index.html /usr/local/nginx/html
3、构建项目打包镜像nginx:v2
docker build -t nginx:v2 -f Dockerfile .
4、生成镜像文件如下:

5、通过镜像来生成容器
docker run -d --name nginx02 -p 88:80 nginx:v2