【Docker】docker+Nginx部署前端项目

这篇具有很好参考价值的文章主要介绍了【Docker】docker+Nginx部署前端项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Docker】docker+Nginx部署前端项目

相关配置安装

安装Docker

 yum install docker

启动服务 start docker

systemctl start docker

Docker中拉取nginx镜像

docker pull nginx

创建配置文件

我们需要在根目录下创建Dockerfile文件和default.conf文件。

其中default.conf文件的名称是什么无所谓,只要在配置文件中注意使用相同名称即可。

【Docker】docker+Nginx部署前端项目

Dokcerfile文件具体内容如下:

FROM nginx:latest

# 将项目根目录下dist文件夹下的所有文件复制到镜像中 /usr/share/nginx/html/ 目录下
COPY dist/ /usr/share/nginx/html/
COPY default.conf /etc/nginx/conf.d/default.conf
  • FROM nginx:latest: 命令的意思该镜像是基于 nginx:latest 镜像而构建的。

  • COPY dist/ /usr/share/nginx/html/ :命令的意思是将项目根目录下 dist 文件夹下的所有文件复制到镜像中 /usr/share/nginx/html/ 目录下。

    这里镜像中的目录我们不要动,但需要保证我们项目的打包目录是dist/,或者自定义到你打包的目录下。

  • COPY default.conf /etc/nginx/conf.d/default.conf 命令的意思是将 Nginx 目录下的 default.conf 复制到 etc/nginx/conf.d/default.conf,用本地的 default.conf 配置来替换 Nginx 镜像里的默认配置。

    这里镜像中的目录我们不要动,但需要保证我们编写的文件名也为default.conf,或者与你自己写的文件名对应


default.conf

下面的配置直接照抄就好,特别注意,监听的端口号并不需要动,这里的80端口指的是容器的端口,最后我们会将容器的端口映射到我们宿主服务器的端口,比如映射到8888端口。

8888:80
  • 然后 注意修改为自己的服务器IP地址

完整配置:

upstream my_server{
  server 121.41.4.33:3000; # 后端server 地址
  keepalive 2000;
}

server {
    listen       80; #这里的端口号不要动,80端口指的是容器的端口,最后我们会将容器的端口映射到我们宿主服务器的端口,比如映射到8888端口
    server_name  111.20.xxx.xxx; # 修改为docker服务宿主机的ip/域名
    
    #charset koi8-r;
    access_log  /var/log/nginx/host.access.log  main;
    error_log  /var/log/nginx/error.log  error;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html =404;
    }
     #  这里就是和vue本地代理的意思一样,已api开头的路径都代理到本机的3000端口
    location /api/ {
        proxy_pass http://my_server/api;
        proxy_set_header Host $host:$server_port;
        rewrite ^/api/(.*) /$1 break;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
    
}

项目打包与部署

将打包项目,把dist文件夹和刚刚创建的Dockerfile,default.conf放到同一目录,并上传到服务器。

【Docker】docker+Nginx部署前端项目

比如,我的代码存放位置是/home/test目录。

然后需要构建镜像

docker build -t test .

docker build -t我们并不需要动,

后面的test是我们构建的镜像的名称,.代表需要进行构建的代码的存放位置,这里是.是因为我当期所在目录就是/home/test,并且我的项目的三个文件就位于/home/test目录下。

如果我们此时位于其他目录,当前目录下没有要进行镜像打包的文件,那就需要更改路径。

比如:

dokcer build -t test /home/test

【Docker】docker+Nginx部署前端项目

然后使用dokcer images可以查看我们已经存在的镜像

【Docker】docker+Nginx部署前端项目


镜像构建好后,我们就可以拿这个镜像启动一个容器

docker run -d -p 8888:80 --name test-image test
  • -d 后台方式运行
  • -p 8888:80 端口映射,将宿主的8888端口映射到容器的80端口
  • –name 容器名 镜像名

然后我们可以使用docker ps查看当前正在运行的容器

并且使用IP地址和端口号访问当前的项目


注意

上面我们进行了端口映射,那就需要在服务器中开启要使用的端口,

我们可以在云服务器中的安全组进行设置。

或者使用命令设置

查看已开放端口命令:firewall-cmd --list-all

  • 查看防火墙状态:active (running) 即是开启状态

    systemctl status firewalld

  • 查看已开发端口命令:firewall-cmd --list-all

  • 新增防火墙开放端口:

    firewall-cmd --zone=public --add-port=3306/tcp --permanent

  • 开放端口后需要重新加载防火墙:

    firewall-cmd --reload

一些相关指令

如果我们不再需要这个容器和镜像,

首先需要先停止这个容器,然后在移出容器和镜像。

首先拿docker ps找到指定容器的ID,

使用docker stop [ID] 停止容器

docker rm [ID] 移除容器

然后拿docker images查看已存在的镜像ID,

使用docker rmi [ID] 移除镜像

可能我们的docker没有设置开机启动:

systemctl start docker # 启动docker
systemctl status docker # 查看docker的运行状态

一个相关报错:关于:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?


后续,我们将使用docker和github actions实现自动化部署。文章来源地址https://www.toymoban.com/news/detail-401172.html

到了这里,关于【Docker】docker+Nginx部署前端项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker Nginx 运行多个前端项目

    运行Nginx容器:  copy 打包后的前端项目到容器的/usr/share/nginx目录下,拷贝后的目录一定要是:/usr/share/nginx/html否则无法运行 nginx配置:目录:etc/nginx/conf.d 新增web.conf配置 进入容器 进入容器后运行: 浏览器打开:http://localhost/#/ 和 http://localhost:8081/#/访问应用

    2024年02月12日
    浏览(52)
  • 【Docker】docker镜像+nginx部署vue项目:

    一、文档: 【1】菜鸟教程:https://www.runoob.com/docker/docker-tutorial.html 【2】Docker部署Vue项目的项目实践:https://www.jb51.net/server/292938nb9.htm 【3】Docker部署vue项目:https://www.cnblogs.com/newcapecjmc/p/16443866.html 二、打包vue项目: 三、配置nginx: 四、配置Dockerfile: 五、构建镜像: 六、运

    2024年02月14日
    浏览(68)
  • Docker + Jenkins + Nginx实现前端自动化部署

    文章有点长,如果你是以学习的态度来看这篇文章,建议收藏起来慢慢看。 前端自动化部署一直以来概念很清楚知道怎么回事,但是其中怎么操作没怎么研究过,虽然之前环境都搭起来了,但是也只是Jenkins构建项目成功,比如提交代码之后怎么触发自动构建,打包后的文件

    2024年02月05日
    浏览(49)
  • 【Docker】安装nginx➕部署项目

    接下来看看由辉辉所写的关于Docker的相关操作吧 目录 🥳🥳Welcome 的Huihui\\\'s Code World ! !🥳🥳 一.安装软件  0.Java 1.Mysql 2.安装nginx ①nginx相关介绍 ②nginx安装 二.本篇难题  本节是来部署一个项目,所以先将jar包放入进来  先是要把mysql容器创建一下,并且创建一个基于jdk的自

    2024年01月18日
    浏览(55)
  • Docker 方式 部署 vue 项目 (docker + vue + nginx)

    1.安装好 nginx 。 2. 把 vue 项目的源码克隆到确定目录下。用 git 管理,所以直接 git clone 到既定目录就行了。 如我的目录是:/root/jiangyu/projects/gentle_vue/gentle_vue_code 。 3. 项目打包: 复制 会自动生成 dist 文件夹 。 4. 在任意目录下新建文件 dockerfile 。内容如下: 复制 5. 构建镜

    2024年02月13日
    浏览(38)
  • Docker使用nginx部署VUE项目

    目录 一、安装Docker和一些基本Docker命令 二、打包VUE项目 三、写nginx配置文件 四、写Dockerfile文件 五、构建镜像 六、运行容器 七、挂载目录 八、使用docker-compose部署项目 总结 安装略,基本指令如下: vue项目根目录进入终端输入npm run build打包项目,在项目根目录会生成一个

    2024年02月07日
    浏览(45)
  • docker配置nginx,并部署多个项目

    前言 基于开发需要需要使用Docker安装nginx,并部署多个前端项目。 1、docker安装nginx容器 2、配置nginx.conf 此时访问 192.168.31.131:8088/one 或者 192.168.31.131:8088/tow ,就可以访问各自的项目了。 3、其中可能会出现的问题 例如: nginx 反向代理到 one 项目后,在刷新页面突然出现 404 的

    2024年02月03日
    浏览(43)
  • 【Docker】使用Docker安装Nginx及部署前后端分离项目应用

            Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。它是由 伊戈尔·赛索耶夫 为俄罗斯访问量第二的Rambler.ru站点开发的,公开版本1.19.6发布于2020年12月15日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置

    2024年01月22日
    浏览(47)
  • docker+docker-compose+nginx前后端分离项目部署

    安装yum-utils 从国内服务器上下载docker 安装docker 验证是否成功 安装需要的包 安装依赖包 添加 Docker 的官方 GPG 密钥 设置远程仓库 安装 Docker-CE 验证是否成功 国内镜像中心常用的为阿里云与网易云, 选择其中一个加速器进行配置即可 。在本地 Docker 中指定要使用的国内加速器

    2023年04月09日
    浏览(54)
  • docker 部署项目的操作文档,安装nginx

    在Linux系统上,Docker默认将镜像存储在 /var/lib/docker 目录下。这个目录包含了Docker的运行时数据,包括镜像、容器、卷等。 在 /var/lib/docker 目录下,镜像的具体存放位置如下: 镜像层(Image Layers): /var/lib/docker/image/overlay2 目录下存放了镜像的各个层。 镜像元数据(Image Meta

    2024年01月20日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包