news 2026/7/20 11:21:18

使用Docker部署项目(本地windows环境项目)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用Docker部署项目(本地windows环境项目)

下载好Docker安装包Install Docker Desktop on Windows | Docker Docs

配置页面:

连接上下载镜像,Docker Engine里内容替换成下面的内容:

{ "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "dns": [ "223.5.5.5", "8.8.8.8" ], "experimental": false, "registry-mirrors": [ "https://docker.1ms.run", "https://dockerproxy.com", "https://mirror.baidubce.com" ] }

点击apply之后,进入项目存放文件夹,确保在项目含有前端文件夹的目录,如图我的是这样:

进入这个dist所在目录,其dist下一级目录里面存放了css、fonts、img等文件夹,如图2;在这个目录下创建Dockerfile的文本,文本名字必须是Dockerfile,保存后再把后缀txt删除。

这个是dist目录进入之后的样子:

双击打开Dockerfile编辑:(这里打包的是前端的程序,后端打包步骤是一样的,只是选择的镜像文件不一样)

FROM nginx COPY ./dist /usr/share/nginx/html

FROM和COPY必须大写,避免有警告;./dist因为我的程序代码主要在dist下面,/usr/share/nginx/html是nginx默认的文件夹,这里项目打包能成功运行要依靠nginx。

上面完成之后,在windows中打开cmd(管理员方式运行)输入进入项目存放的地址,我放在d盘下面:输入

docker build -t hospital-images .

hospital-images是我的程序打包成镜像我自己取的名字,‘·’表示在这个项目目录当前构建镜像

进入主机windows下打开cmd,不进入任何目录:输入

docker run -d --name hospital-container -p 80:80 hospital-images

构建这个项目容器,hospital-container是我自己创建的容器命名 -d表示后台运行 -p是选择运行端口,80被占用就表示:-p 81:80就好,反正换着来。

完成后在docker中可以看见打包好的程序容器

按照上面的步骤打包后端,打包数据库成数据卷,保证数据持久化:

先创建数据卷存放数据库:

docker volume create hospital-mysql

将数据卷导成容器部署:

docker volume create hospital-mysql docker run --name hospital-mysql -v hospital-mysql:/var/lib/mysql -v "D:\虚拟机环境-测试课\hospital\hospital_manager.sql:/docker-entrypoint-initdb.d/hospital_manager.sql:ro"#这个数据库在本地环境中 -e MYSQL_ROOT_PASSWORD=123456#数据库库密码 -e MYSQL_DATABASE=hospital_manager#数据库名 -e MYSQL_USER=test -e MYSQL_PASSWORD=123456 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

同时运行前后端的容器还有数据库的容器。在网页输入http://127.0.0.1:81就可以看见我们打包好程序的页面展示了:并且查询docker ps也可以看见这个容器在运行。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/20 11:21:05

如何在Windows电脑上完美使用Switch控制器:BetterJoy终极指南

如何在Windows电脑上完美使用Switch控制器:BetterJoy终极指南 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gitco…

作者头像 李华
网站建设 2026/7/20 11:20:16

数据科学团队建设三大支柱:数据、产品、生产

1. 为什么“建团队”比“做模型”更难?——一个干了11年数据科学落地的老兵的真心话你有没有遇到过这样的场景:花了三个月训练出一个AUC高达0.92的风控模型,上线后第一周就因为特征延迟3秒导致策略全盘失效;或者团队里最资深的算法…

作者头像 李华
网站建设 2026/7/20 11:19:38

【UDQ正弦PWM】单相统一功率因数变流器控制、单相VSI或交直变流器以统一功率因数模式运行、控制器采用不平衡d-q控制在同步参考框架中实现研究附Simulink仿真

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…

作者头像 李华
网站建设 2026/7/20 11:18:48

AI时代软件工程师的范式转移与多Agent协作

1. 软件工程师角色的范式转移在2026年2月YC的这场访谈中,Claude Code创始人Boris Cherny提出了一个震撼业界的观点:传统"软件工程师"头衔正在走向消亡。这个判断并非空穴来风,而是基于Anthropic内部已经发生的深刻变革——在那里&a…

作者头像 李华
网站建设 2026/7/20 11:18:47

深入解析EDMA3控制器:从寄存器配置到实战避坑指南

1. 深入理解EDMA3控制器:从架构到寄存器在嵌入式系统,尤其是高性能信号处理领域,数据搬运的效率直接决定了整个系统的性能天花板。CPU如果深陷于搬运大量数据的泥潭,就无法专注于其核心的计算任务。这时,直接内存访问&…

作者头像 李华
网站建设 2026/7/20 11:18:35

虚幻引擎逆向工程利器:UnrealMappingsDumper 使用指南与实战心得

1. 项目概述与核心价值 如果你正在逆向分析一款使用虚幻引擎(Unreal Engine)开发的游戏或应用,那么“UnrealMappingsDumper”这个名字对你来说,可能意味着一个巨大的效率提升。简单来说,它是一款专门用于解析和导出虚…

作者头像 李华