以下是一个使用 Dockerfile 构建 Nginx 镜像的示例:
# 基于官方的 Nginx 镜像构建
FROM nginx:latest
# 拷贝本地的 Nginx 配置文件到容器内部
COPY nginx.conf /etc/nginx/nginx.conf
# 拷贝本地的静态页面文件到容器内部
COPY index.html /usr/share/nginx/html/index.html
# 暴露端口号 80(默认 HTTP 端口)
EXPOSE 80
上述 Dockerfile 的解释如下:
FROM
指令指定了该镜像是基于官方的最新版 Nginx 镜像构建的。COPY
指令将本地的nginx.conf
文件和index.html
文件分别拷贝到容器内部指定目录中。在这个例子中,Nginx 的配置文件被拷贝到/etc/nginx/
目录下,静态页面文件被拷贝到/usr/share/nginx/html/
目录下。EXPOSE
指令用于告诉 Docker 容器内部运行的应用程序监听了哪些网络端口。在这个例子中,我们暴露了 HTTP 端口号 80。
使用以上 Dockerfile 可以通过以下命令构建镜像:
docker build -t my-nginx-image .
然后使用以下命令启动容器并运行 Nginx 服务器:
docker run -d --name my-nginx-container -p 8080:80 my-nginx-image
成功启动容器后,在浏览器中访问 http://localhost:8080/
就能看到我们刚才创建的静态页面了。