前端破圈使用Docker Nginx容器部署项目🏴‍☠️

简介: 前端破圈使用Docker Nginx容器部署项目🏴‍☠️

前言

继续 前端破圈 之旅,之前的文章里面实现了在 Docker 中开发前端项目,现在把开发的前端项目部署起来,能通过 IP 地址直接访问

前端破圈Docker for Win11项目不能访问🏴‍☠️

前端破圈用Docker开发项目🏴‍☠️

环境情况

由于是部署项目,这里使用在 Linux 系统中进行,不同版本表现可能不一致,这里先明确版本

系统版本

  • 系统版本:Ubuntu22.04.1 LTS
  • 虚拟机软件:VMware Workstation 17 Pro

Docker版本

  • Docker Engine: 24.0.5

实现思路

Ubuntu 系统上先安装 docker,然后安装 nginx 镜像,启动容器,准备好发布的前端项目,修改 nginx 容器配置,重启容器

实践

安装 docker

官方安装文档很详细,也很简单

Install Docker Engine on Ubuntu

练习自己看官方文档的能力,不管是中文的还是英文的,这是最原汁原味的一手资料,是官方或作者最原始的表达。可能英文文档前期刚开始看着有点痛苦,看多了其实就好了

安装完成后检查是否安装成功

$ docker -v
Docker version 24.0.5, build ced0996

注意!

安装成功,这时候输入其他命令默认是没有权限的

$ docker ps -a
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json?all=1": dial unix /var/run/docker.sock: connect: permission denied

安装后需要后续步骤,添加用户到 docker

$ sudo usermod -aG docker $USER

Linux post-installation steps for Docker Engine

获取 nginx 镜像

$ docker pull nginx

检查镜像是否获取成功,现在就是拉取到的最新版本的 nginx 镜像

$ docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        latest    eea7b3dcba7e   5 days ago      187MB

准备项目和配置文件

准备容器中部署的项目,这里使用一个 Vue3 初始化项目,自行打包 dist 即可

github.com/gywgithub/v…

运行 nginx 容器

docker run --name nginx-server -p 80:80 -v /home/w/Desktop/code:/workspace -d nginx

命令参数

  • --name: 容器名称
  • -p: 将系统的80端口映射到容器的80端口
  • -v: /home/w/Desktop/code 系统外部的代码目录,映射到容器内自定义目录 workspace
  • -d: 设置容器后台运行

检查服务

检查 nginx 容器服务是否正常运行成功,在浏览器中容器服务的地址 172.17.0.1,如下效果

image.png

172.17.0.1 地址是 docker nginx 服务的地址,这个地址可以通过 docker inspect 命令查看,Networks -> bridge -> Gateway 地址就是 nginx 服务的地址

image.png

修改容器中的 nginx.conf 文件

使用 vim 修改 nginx.conf 文件配置,添加 server 配置

image.png

server 里面配置了 80 端口,location / root 地址为 vue3-project-01 前端项目的 dist 目录

这时候刷新浏览器 172.17.0.1 地址,内容是没有变化的,因为 nginx 配置更新后需要重启服务

注意!

容器的 debian 系统中默认没有 vim,需要手动安装

如果不会使用 vim,可以换种实现思路,在运行容器时将容器外部 nginx.conf 文件映射容器内的 nginx.conf,多加一个 -v 参数即可,如

-v /ubuntu/自定义目录/nginx.conf:/etc/nginx/nginx.conf`

重启 nginx 服务

docker restart nginx-server

重启服务后,再次刷新浏览器,前端项目部署好了

image.png

相关文章
|
26天前
|
前端开发 应用服务中间件 nginx
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
102 0
|
3天前
|
前端开发 JavaScript 应用服务中间件
前端vue2、vue3去掉url路由“ # ”号——nginx配置(二)
前端vue2、vue3去掉url路由“ # ”号——nginx配置
19 0
|
3天前
|
缓存 前端开发 JavaScript
前端vue3分享——项目封装axios、vite使用env环境变量
前端vue3分享——项目封装axios、vite使用env环境变量
10 0
|
4天前
|
存储 Kubernetes Docker
Kubernetes(K8S)集群管理Docker容器(概念篇)
Kubernetes(K8S)集群管理Docker容器(概念篇)
|
4天前
|
存储 Ubuntu 安全
Docker容器常用命令
Docker容器常用命令
18 1
|
10天前
|
存储 运维 监控
构建高效稳定的Docker容器监控体系
【4月更文挑战第18天】 在现代微服务架构中,Docker容器已成为部署和运行应用的标准环境。随之而来的挑战是如何有效监控这些容器的性能与健康状况,确保系统的稳定性和可靠性。本文将探讨构建一个高效稳定的Docker容器监控体系的关键技术和方法,包括日志管理、性能指标收集以及异常检测机制,旨在为运维人员提供实用的指导和建议。
|
19天前
|
Linux Docker 容器
docker 容器常用命令
docker 容器常用命令
14 0
|
19天前
|
Linux Shell 虚拟化
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
28 0
|
19天前
|
存储 Linux Shell
centos 部署docker容器 安装 、基本使用方法(一)
centos 部署docker容器 安装 、基本使用方法(一)
33 0
|
27天前
|
Kubernetes 网络协议 Docker
Docker 容器的DNS
Docker 容器的DNS
28 1