在Docker中使用 Nginx 服务器

本文简单的说明如何基于 docker 中官方的 alpine 镜像搭建运行 nginx 的镜像。

本次演示以 docker 中的 alpine 3.8 镜像作为基础镜像。

1
FROM alpine:3.8

为加快国内的构建速度,将 alpine 的源改为国内的地址。

1
2
RUN echo http://mirrors.ustc.edu.cn/alpine/v3.8/main > /etc/apk/repositories && \
echo http://mirrors.ustc.edu.cn/alpine/v3.8/community >> /etc/apk/repositories

然后直接使用 alpine 的包管理工具 apk 安装 nginx 的二进制分发包

1
RUN apk add nginx

注意,在 apk 安装 nginx 中缺失了一个步骤,会导致安装好的 nginx 无法启动运行,因此需要手动完成下一步

建立一个名为 /run/nginx 的目录

1
RUN mkdir /run/nginx

最后,设置容器启动时运行的命令:

1
CMD ["nginx", "-g", "daemon off;"]

最后奉上完整的 Dockerfile

1
2
3
4
5
6
7
8
9
10
11
12
13
14
FROM alpine:3.8

RUN echo http://mirrors.ustc.edu.cn/alpine/v3.8/main > /etc/apk/repositories && \
echo http://mirrors.ustc.edu.cn/alpine/v3.8/community >> /etc/apk/repositories

RUN apk update

RUN apk add nginx

RUN mkdir /run/nginx

EXPOSE 80

CMD ["nginx", "-g", "daemon off;"]

保存以后,在 Dockerfile 文件所在的目录中执行:

1
docker build -t="my-nginx:1.0" .

构建镜像。

本文标题:在Docker中使用 Nginx 服务器

文章作者:晨星

发布时间:2020年12月04日 - 10:12

最后更新:2020年12月16日 - 11:12

原始链接:https://www.mls-tech.info/docker/docker-use-nginx/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。