位置: IT常识 - 正文

前端Docker部署方案(docker部署webdav)

编辑:rootadmin
前端Docker部署方案 一、Docker容器和镜像概念

推荐整理分享前端Docker部署方案(docker部署webdav),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:docker是前端还是后端,docker前台运行,dockerfile 前端,docker搭建前端开发环境,docker部署前后端,docker搭建前端开发环境,docker搭建前端开发环境,docker部署前端项目,内容如对您有帮助,希望把文章链接给更多的朋友!

首先明确镜像和容器的概念。我们可以用 docker 构建一个镜像,这个镜像可以导入导出,用于传输,重复利用。然后如果把他 run 起来,则称为一个容器。容器是运行时,会包括运行时上下文;镜像是静态的,不包括运行上下文。 Docker容器: 容器 = 镜像 + 可读层。 详细的介绍,请参考:Docker容器与镜像

二、Docker的常用操作命令

镜像操作: 容器操作: 更多命令请参考:Docker Docs

三、实际使用1>Docker的基本操作// 制作前端容器// Dockerfile 指定 Dockerfile 的名称,也可以是别的名称// image-name 指定镜像名,image-tag 指定镜像 tag// . 表示上下文为当前目录为上下文制作容器docker build -f <Dockerfile> -t <image-name>:<image-tag> .// 查看镜像// docker images 会输出所有存在的镜像docker images// run前端容器// -d 表示以后台模式运行// --name 指定容器的名称,停止或查看日志时可用的 alias// --restart always 表示,只要是容器挂了,或者 docker.io 重启了,容器就会自动 run// -p 8000:80 表示端口映射,8000访问主机端口,80表示容器内部端口 // 此时访问本机的 8000端口即可访问容器内80端口web应用提供的界面。// 也可以不使用 -p 命令,改为使用 --network host,表示直接使用宿主机网络docker run -d --name <frontend> --restart always -p 8000:80 <image-name>:<image-tag>// 查看所有容器// -a 表示停止的容器也展示,如果不加 -a 则只会显示正在运行的容器docker ps -a// stop前端容器docker stop frontend// restart前端容器// 当 nginx 的配置文件被修改时,需要 restart 容器使其生效// 原理相当于 docker exec -it frontend; nginx -s reloaddocker restart frontend// 以交互方式进入容器// --it 表示交互式// 进入文件后可查看容器内部文件情况docker exec -it frontend bash// 拷贝容器内部文件// 表示把当前目录的 default.conf 拷贝到容器内部的 /etc/nginx/conf.d/default.conf 路径,相当于用当前目录的文件替换掉容器内部的文件// 也可以反过来写// docker cp frontend:/etc/nginx/conf.d/default.conf default.conf// 表示把容器内部 /ect/nginx/conf.d/default.conf 文件拷贝到当前路径 default.conf,相当于用容器内部文件替换当前目录的文件docker cp default.conf frontend:/etc/nginx/conf.d/default.conf2> DockerFile文件

要制作一个镜像,首先要有一个 Dockerfile,才能执行 build 操作。

以 nginx 为基础镜像构建的例子// 以 nginx:1.19.3 作为基础镜像构建镜像FROM nginx:1.19.3// 拷贝 npm run build 之后的产物文件到对应的 nginx 目录COPY dist/ /usr/share/nginx/html// 拷贝配置文件到对应的 nginx 目录COPY ./nginx/dev/default.conf /etc/nginx/conf.d/default.conf// 拷贝配置文件COPY ./nginx/dev/nginx.conf /etc/nginx/nginx.conf// 指定暴露容器端口 80EXPOSE 803> 制作镜像// 准备文件// 打包好的dist文件,dockerfile,nginx配置文件// 镜像制作docker build -f <Dockerfile> -t <project-name>:<project-versions> . //示例:// 苹果 M1 芯片需要指定 platform 参数:docker build --platform linux/amd64 -f Dockerfile-private -t fe-image-yh-local:v3.2.001.20220602 .// x86 机器不用:docker build -f Dockerfile-private -t fe-image-yh-local:v3.2.001.20220602 .// 查看镜像是否创建成功docker images4> 运行容器// 为了防止线上项目挂了 建议加上 --restart alwaysdocker run -d --name < project name> -p 8000:80 <image-name>:<image-tag>docker ps -a// 启动容器docker start <docker id>四、真实项目使用

需求: 在新的服务器上构建新镜像(前端) 新的服务器: 192.168.5.23 账号admin/密码123456

1. 解决方案A

1)先登录192.168.5.25 服务器: ssh @root 192.168.5.25, 输入密码,进入服务器 2、本地机器项目打包:

sh build_report.sh // 报告特殊处理下,一般的项目不需要这个步骤npm run build:dev // 项目打包,根据自己项目打包的命令来

3、 搭配使用了FileZilla软件,下载地址:FileZilla客户端 FZ软件:打包生成的dist文件拖进去,和dockerFile文件。 放在指定路径下,我放在了桌面上。

前端Docker部署方案(docker部署webdav)

FileZilla软件页面:

4、进行打包: 终端,cd到/root/桌面/firmware-xxx 路径下,进行构造镜像和保存操作

// 构建镜像 docker build -t <镜像名> . docker build -t fe-frontend-ys:v2.7.0.20230228.arm . // 保存 docker save -o <打包名><镜像名>docker save -o fe-frontend-ys-v2.7.0.20230228.arm.tar fe-frontend-ys:v2.7.0.20230228.arm

5、部署代码:

docker load -i fe-frontend-ys-v2.7.0.20230228.arm.tardocker run -d --network host --restart always --name fe-frontend-ys-v2.7.0.20230228.arm fe-frontend-ys:v2.7.0.20230228.arm2. 解决方案B

直接将整个项目代码拖到服务器上; 1、打开FZ软件,把整个项目拖进去(删除node-modules), 拖进去后,终端cd到路径:/root/桌面/firmware-xxx, 进行npm i 安装node-modules

2、打包

sh build_report.sh // 报告特殊处理下,一般的项目不需要这个步骤npm run build:dev // 项目打包,根据自己项目打包的命令来// 构建镜像 docker build -t <镜像名> . docker build -t fe-frontend-ys:v2.7.0.20230228.arm .// 保存 docker save -o <打包名><镜像名>docker save -o fe-frontend-ys-v2.7.0.20230228.arm.tar fe-frontend-ys:v2.7.0.20230228.arm

3、 部署

// 运行容器// docker run -d --name <frontend> --restart always -p 8000:80 <image-name>:<image-tag>// run前端容器// -d 表示以后台模式运行// --name 指定容器的名称,停止或查看日志时可用的 alias// --restart always 表示,只要是容器挂了,或者 docker.io 重启了,容器就会自动 run// -p 8000:80 表示端口映射,8000访问主机端口,80表示容器内部端口 docker run -d --net=yishi0 --restart always --name fe-frontend-ys-v2.7.0.20230228.arm -p 8012:80 fe-frontend-ys:v2.7.0.20230228.arm

本文主要是偏应用,结合自己项目中真实使用情况,来加以说明; 仅供参考。

学习文章: Docker 命令行入门大全:这 18 条,你不得不知 Dcoker安装

Docker Docs使用 nginx

本文链接地址:https://www.jiuchutong.com/zhishi/295237.html 转载请保留说明!

上一篇:vue 项目中 向数组 添加元素 的方式(vue中数字运算)

下一篇:蓝色龙舌兰田,墨西哥哈利斯科州龙舌兰酒产区 (© Brian Overcast/Alamy)(蓝色龙舌兰花语)

  • 四大简单指标:证明社交媒体营销策略的价值(四大经典指标技术必胜术)

    四大简单指标:证明社交媒体营销策略的价值(四大经典指标技术必胜术)

  • ipad2021有耳机孔吗(2021款ipad有没有耳机插孔)

    ipad2021有耳机孔吗(2021款ipad有没有耳机插孔)

  • vivox70pro怎么隐藏应用(vivox70pro怎么隐藏桌面图标)

    vivox70pro怎么隐藏应用(vivox70pro怎么隐藏桌面图标)

  • 钉钉不能回放直播的原因是什么(钉钉不能回放直播怎么办)

    钉钉不能回放直播的原因是什么(钉钉不能回放直播怎么办)

  • 苹果手机wifi信号弱怎么调(苹果手机wifi信号满格但网速慢)

    苹果手机wifi信号弱怎么调(苹果手机wifi信号满格但网速慢)

  • 天气温度显示70度怎么调(天气温度显示91度F是什么情况)

    天气温度显示70度怎么调(天气温度显示91度F是什么情况)

  • Excel怎么在表格左侧添加一列(excel怎么在表格中间加一行)

    Excel怎么在表格左侧添加一列(excel怎么在表格中间加一行)

  • 抖音怎样恢复初始设置(抖音怎样恢复初始粉丝)

    抖音怎样恢复初始设置(抖音怎样恢复初始粉丝)

  • 华为屏幕右移了怎么复原(华为屏幕桌面偏右)

    华为屏幕右移了怎么复原(华为屏幕桌面偏右)

  • 微信会议可以录屏吗(微信会议录音转文字)

    微信会议可以录屏吗(微信会议录音转文字)

  • 剪映黑屏了怎么回事(剪映黑屏了怎么恢复)

    剪映黑屏了怎么回事(剪映黑屏了怎么恢复)

  • 充电宝是锂电池吗(充电宝是锂电池还是铅酸电池)

    充电宝是锂电池吗(充电宝是锂电池还是铅酸电池)

  • 苹果4g限速后怎样提升网速(苹果手机4g限速后怎样解除限速)

    苹果4g限速后怎样提升网速(苹果手机4g限速后怎样解除限速)

  • 荣耀v20可以只换外屏吗(荣耀v20可以只换屏幕吗)

    荣耀v20可以只换外屏吗(荣耀v20可以只换屏幕吗)

  • word产品激活失败可以用吗(word2013产品激活失败)

    word产品激活失败可以用吗(word2013产品激活失败)

  • 声卡的主要性能指标有哪些(声卡的主要性能参数)

    声卡的主要性能指标有哪些(声卡的主要性能参数)

  • 手机屏幕发绿怎么回事(手机屏幕发绿怎么调色温)

    手机屏幕发绿怎么回事(手机屏幕发绿怎么调色温)

  • 闲鱼双方评价怎么删除(闲鱼互相评价)

    闲鱼双方评价怎么删除(闲鱼互相评价)

  • vivoz5x视频美颜怎么设置(vivox50视频美颜)

    vivoz5x视频美颜怎么设置(vivox50视频美颜)

  • 华为mate10快充多少w(mate 10 快充)

    华为mate10快充多少w(mate 10 快充)

  • 怎么在演示文稿中创建一个演示方案(怎么在演示文稿上打字)

    怎么在演示文稿中创建一个演示方案(怎么在演示文稿上打字)

  • 苹果x双摄像头使用技巧(苹果x双摄像头怎么切换)

    苹果x双摄像头使用技巧(苹果x双摄像头怎么切换)

  • 小爱音响为什么没反应(小爱音响为什么不能播放酷狗音乐)

    小爱音响为什么没反应(小爱音响为什么不能播放酷狗音乐)

  • 苹果电脑双系统切换教程(苹果电脑双系统好不好)

    苹果电脑双系统切换教程(苹果电脑双系统好不好)

  • 维多利亚纪念堂,印度加尔各答 (© Roop_Dey/Shutterstock)(维多利亚国家艺术馆)

    维多利亚纪念堂,印度加尔各答 (© Roop_Dey/Shutterstock)(维多利亚国家艺术馆)

  • 【vue2】使用elementUI进行表单验证实操(附源码)(vue el-)

    【vue2】使用elementUI进行表单验证实操(附源码)(vue el-)

  • 业务宣传费和广告费的扣除标准
  • 企业当年发放以往年度工资
  • 办理外经证后缴税怎么交
  • 民办非企业业务主管单位职责
  • 发出商品是用进货吗
  • 什么是联营商品
  • 留抵税额抵减欠税文件
  • 闲置土地归谁管理
  • 稿酬所得是否需要按照累计预扣税率
  • 年末转出未交增值税的视频
  • 一张合同分三次收款怎么开票?
  • 股票转让所得不交增值税
  • 农产品收购发票图片
  • 待抵扣税费
  • 定额发票验旧怎么操作
  • 待认证进项税额借方余额表示什么
  • 购买健身器材需要注意什么
  • 季度报税过了怎么办
  • 建筑总承包企业资质
  • 股权转让会计处理
  • mac安装windows不能用键盘
  • win10检测系统
  • 即征即退和先征后退适用范围
  • win11和win10比较
  • 关于销售免税品的规定
  • deepin如何设置网络
  • 应扣未扣税款对纳税人的处理
  • 如何预防电脑系统崩溃
  • node启动本地服务
  • 长期借款和实收资本
  • 滴滴发票4月1日怎么开
  • 数据挖掘期末考试大纲
  • vue 路由
  • 资产负债表其他应收款计算公式
  • 加盟代理需要什么手续
  • CSS SandBox
  • 在职工教育经费包括哪些
  • 筹备期间费用怎么做分录
  • Vue 拖拽排序
  • 增值税小规模纳税人适用3%征收率
  • 非营利组织缴纳增值税账务处理
  • 收到生育津贴入什么科目
  • 非货币性职工薪酬
  • 收到境外企业顾问费
  • PostgreSQL中的OID和XID 说明
  • 分公司和总公司的税务核算
  • 固定资产未登记入账
  • 小规模纳税人的税率是多少
  • 普通发票为什么只能领一张
  • 红冲暂估原材料如何做会计分录
  • 供应链公司的骗局招司机是真的吗
  • 关停企业的国家规定
  • 公司改名后发票怎么开
  • 长期待摊费用什么时候结束摊销
  • 私营公司商业汇票怎么开
  • 重新组织是什么意思
  • sql语句的执行方式
  • mysql在指定字段前添加
  • flashplayer不能正常运行
  • windows注册表保存在BIOS
  • xp桌面字体有阴影怎么去掉
  • ubuntu pdf编辑器
  • 更新win8
  • 命令行教程
  • 部分用户开启隐私,暂时无法查看怎么办
  • win7系统打开服务
  • .mcp是什么文件
  • PACKAGER.EXE - PACKAGER是什么进程 有什么用
  • win70x80070002系统找不到指定的文件
  • windows10 预览
  • jquery轮播代码
  • 批处理set命令
  • react.development.js
  • unity中time.deltatime
  • 境外取得收入申报期限
  • 税控盘丢失怎么写情况说明
  • 云南税务总局官网
  • 代扣代缴企业所得税会计分录
  • 什么是党建工作一体化
  • 辽宁网上税务
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设