前端项目配置 Dockerfile 打包后镜像部署无法访问

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

Dockerfile 配置如下:

FROM node:lts-alpine

WORKDIR /app
COPY . .
RUN npm install
RUN npm run build

EXPOSE 3001

CMD ["npm", "run", "preview"]

构建镜像

docker build -t vite-clarity-project .

启动镜像容器

docker run -p 3001:3001 --name=my-vite-clarity-project vite-clarity-project

启动后访问不到:

命令行访问:

root@btx:~# docker ps
CONTAINER ID   IMAGE                          COMMAND                  CREATED        STATUS        PORTS                                       NAMES
1c02a1d7732f   vite-clarity-project   "docker-entrypoint.s…"   4 hours ago    Up 4 hours    0.0.0.0:3001->3001/tcp, :::3001->3001/tcp   my-vite-clarity-project 
root@btx:~# curl 0.0.0.0:3001
curl: (52) Empty reply from server  // 访问不到

浏览器访问:

该网页无法正常运作localhost
未发送任何数据。
ERR_EMPTY_RESPONSE前端项目配置 Dockerfile 打包后镜像部署无法访问,前端,docker,vite,Dockerfile

问题原因:

root@btx:~# docker logs 1c02a1d7732f

> vite-clarity-project@0.0.0 preview
> vite preview --port 3001

  ➜  Local:   http://localhost:3001/    // 问题原因只启动了 localhost
  ➜  Network: use --host to expose

知识点:

localhost:3001: 仅允许本地主机(即 Docker 容器内部)访问。
0.0.0.0:3001: 允许任何主机(包括容器外部的主机)通过该地址访问服务。文章来源地址https://www.toymoban.com/news/detail-800873.html

解决方法:

import path from "path"
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react()],
  resolve: {
    alias: {
      "@": path.resolve(__dirname, "./src"),
    },
  },
  server: {
    host: '0.0.0.0', // ******** 加上这一行 '0.0.0.0' ******** //
  },
})

到了这里,关于前端项目配置 Dockerfile 打包后镜像部署无法访问的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Vue项目打包成docker镜像部署

    一、介绍 我们部署Vue项目,可以build之后,直接放到nginx下面即可,今天给大家介绍创建docker镜像,使用docker镜像启动容器运行部署Vue项目的方式,可以尝试尝试,原理和使用nginx部署一样,不过是使用的docker容器而已,内部还是使用的是nginx作为基础镜像。 二、docker安装 d

    2023年04月08日
    浏览(54)
  • windows部署python项目(以Flask为例)到docker,通过脚本一键生成dockerfile并构建镜像启动容器

    这里使用 pipreqs 进行依赖库的识别。使用 pipreqs 可以自动检索到当前项目下的所有组件及其版本,并生成 requirements.txt 文件。相比直接用pip freeze 命令,避免将整个python环境的依赖包写入。 在项目的当前目录中执行 pipreqs ./ --encoding=utf8 --force 这里使用的是一个基于flask项目,

    2023年04月08日
    浏览(55)
  • Dockerfile打包镜像之修改默认时区

    目录 问题背景 总结 Ubuntu Centos Alphine 前一段时间项目上用dockerfile创建了应用镜像,等服务跑起来后,某些功能接口怎么都调不通,经过排查发现原来是镜像的时间不对。 打包镜像时使用的基础镜像基本上都是采用UTC(格林时间),与我们常用的北京(上海)时间(CST)相差8个

    2024年02月11日
    浏览(65)
  • 前端项目打包并部署

    在当前项目路径下,执行命令 在当前项目路径下,生成 一个dist文件夹。  将来部署项目,是部署的dist这个文件。 在终端中执行  唤起vue控制台。   选中项目,点击任务,点击build 1、vue项目打包build 2、新建一个项目(miaoTestProject),将dist目录放到里面。    3、在当前项目路

    2023年04月20日
    浏览(39)
  • 项目打包docker镜像,并指定运行的配置文件

    新建dockerfile文件,添加入以下内容 1.修改dockerfile中的配置,与对应文件和jar包的目录保持一致。如果已经有镜像包可忽略打包步骤,直接执行命令启动   2.服务启动的端口在application.properties文件中已配置,后续可根据实际情况修改 3.切换到文件所在目录; cd /home/zj/ 4.执行命

    2024年02月16日
    浏览(39)
  • 【Java】微服务——Docker容器部署(docker安装,docker配置镜像加速,DockerHub,docker基本操作,Dockerfile自定义镜像.Docker-Compose)

    微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。 分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。 在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题 1.1.1.应用部署的环境问题 大型项目组件较多,运

    2024年02月04日
    浏览(56)
  • 将Python项目(Flask)打包成Docker镜像,部署到微软云---Azure

    前情提要:首先创建一个简单的Flask项目,参考上一篇文章 链接: 将 Python (Flask) Web应用部署到Azure应用服务 下载链接:Install Docker Desktop on Windows 如果出现以上弹窗,点击链接,安装Linux 内核更新包 运行下载的更新包(系统将提示你提供提升的权限,选择“是”以批准此安装

    2024年02月09日
    浏览(61)
  • dockerfile基于apline将JDK20打包成镜像

    ​ 今天就来和大家聊聊如何把最新出版的JDK20打包成docker镜像,很多uu都会采用centos作为基础镜像,这么做会有一个问题,centos系统会含有很多库文件,这些库文件JDK程序并不是完全需要的,运行在服务器上会占用很多资源,这就没有必要。我们可以采用apline作为基础镜像打

    2024年02月10日
    浏览(37)
  • 【微服务部署】五、Jenkins+Docker一键打包部署NodeJS(Vue)项目的Docker镜像步骤详解

      NodeJS(Vue)项目也可以通过打包成Docker镜像的方式进行部署,原理是先将项目打包成静态页面,然后再将静态页面直接copy到Nginx镜像中运行。 一、服务器环境配置   前面说明了服务器Nginx的安装和配置,这里稍微有些不同,但是因为此文是用Nginx镜像和前端镜像页面同

    2024年02月06日
    浏览(43)
  • 前端如何将项目打包部署到服务器

      本篇文章从前端项目打包开始,逐步完成项目部署到服务器的操作,这次咱们采取的部署方案是通过vscode中Remote-SSH和SFTP两个插件实现项目部署到服务器,并在服务器上通过nginx代理将请求转发到对应的端口。   先将自己开发完成的本地项目进行打包,打包之后会产生一个

    2024年03月14日
    浏览(71)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包