一、拉取nginx
docker pull nginx
二、使用Dockerfile生成包含前端服务的nginx镜像
- 新建
D:\Docker\nginx
文件夹 - 将准备好的前端服务dist文件夹以及
nginx.conf
文件拷贝进文件夹 - 在文件夹中新建Dockerfile文件,Dockerfile文件没有后缀,可通过右键重命名删除
.txt
后缀,Dockerfile文件内容如下:
# 使用官方Nginx镜像作为基础镜像
FROM nginx:latest
# 将自定义的Nginx配置文件复制到容器内的/etc/nginx目录下
COPY nginx.conf /etc/nginx/nginx.conf
# 将前端服务的静态文件复制到容器内的/html/目录下
COPY ./dist /usr/share/nginx/html/web
RUN chmod 755 /etc/nginx/nginx.conf
RUN chmod 755 /usr/share/nginx/html/web
# 设置环境变量,可选,根据需要调整
# ENV SOME_VARIABLE=some_value
# 可以添加更多的RUN指令来安装必要的软件包或执行初始化脚本
# RUN apt-get update && apt-get install -y some_package
# 暴露端口,通常Nginx使用80和443端口
EXPOSE 80 443 8887
# 容器启动时执行的命令,通常不需要修改,Nginx会在容器启动时自动运行
CMD ["nginx", "-g", "daemon off;"]
- 注意这里服务文件拷贝到
/usr/share/nginx/html/web
下所以nginx.conf中配置的时候root节点设置需要用绝对地址/usr/share/nginx/html/web
- 在
D:\Docker\nginx
文件夹下打开cmd,使用docker build -t xxxweb .
命令创建包含前端服务的nginx镜像,其中xxxweb为新镜像的名称 - 使用
docker run -d -p 8887:8887 xxxweb:latest
命令启动镜像 - 在本地浏览器中尝试打开
http://localhost:8887/
访问前端