添加nginx陪孩子
- 在项目根目录创建.docker/nginx/conf.d/nginx.conf文件,编辑内容如下
 
server {    listen 80;    server_name localhost; # 配置域名    location / {        root html;                          # 配置根目录,html表示默认目录/usr/share/nginx/html        try_files $uri $uri/ /index.html;   # 配置入口文件    }    # 配置后端接口代理    # location /api {    #     proxy_set_header Host $http_host;    #     proxy_set_header  X-Real-IP $remote_addr;    #     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    #     proxy_set_header X-Forwarded-Proto $scheme;    #     rewrite ^/api/(.*)$ /$1 break; # 重写    #     proxy_pass http://127.0.0.1:8888; # 设置代理服务器的协议和地址    # }    # 配置接口文档    # location /api/swagger/index.html {    #     proxy_pass http://127.0.0.1:8888/swagger/index.html;    # }}
- 在根目录创建Dockerfile文件,编辑内容如下
 
# 阶段1, 添加node环境,并打包项目FROM node:16.0.0WORKDIR /app/COPY . .RUN yarn installRUN yarn build# 阶段2,添加Nginx服务,并代理我们的前端项目FROM nginx:alpineLABEL MAINTAINER debugksir<402351681@qq.com>   # 作者信息COPY .docker/nginx/conf.d/ /etc/nginx/conf.d/  # 将当前目录下的nginx配置拷贝到容器中的对应位置,nginx将读取这份配置COPY --from=0 /app/dist /usr/share/nginx/html  # 将阶段1中的打包文件拷贝到nginx代理的目录下RUN ls -al /usr/share/nginx/html               # 打印代理目标文件列表,验证是否成功
- 通过Dockerfile构建镜像
 
# 切换到项目目录cd xxx/myapp# 构建镜像docker build -t myapp:1.0 .
- 通过我们打包的镜像,实例化容器
 
docker run -d -p 80:80 --name tongue_container myapp:1.0# -d 后端运行# -p 配置宿主机与容器端口映射# -name 给容器命名# myapp:1.0 镜像命:标签
- 通过浏览器访问IP:80验证结果