位置: 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)(蓝色龙舌兰花语)

  • vivos12有隐藏图标功能吗(vivo21隐藏图标在哪里)

    vivos12有隐藏图标功能吗(vivo21隐藏图标在哪里)

  • 电脑怎么打包压缩wps文件(电脑怎么打包压缩文件发到微信里)

    电脑怎么打包压缩wps文件(电脑怎么打包压缩文件发到微信里)

  • 淘宝为什么被禁言(淘宝为什么被禁言违规的地方在哪看)

    淘宝为什么被禁言(淘宝为什么被禁言违规的地方在哪看)

  • 没有光猫只有路由器可以上网吗(没有光猫只有路由器可以看电视吗)

    没有光猫只有路由器可以上网吗(没有光猫只有路由器可以看电视吗)

  • iphone11热点自动关闭(苹果11开热点自动关闭)

    iphone11热点自动关闭(苹果11开热点自动关闭)

  • word文档合并后格式乱了(word文档合并后字体变了)

    word文档合并后格式乱了(word文档合并后字体变了)

  • 腾讯会议进不去怎么办(腾讯会议进不去的图片)

    腾讯会议进不去怎么办(腾讯会议进不去的图片)

  • 硬盘数据线2.0和3.0区别(硬盘数据线2.0和3.0外观区别)

    硬盘数据线2.0和3.0区别(硬盘数据线2.0和3.0外观区别)

  • 苹果手机死机怎么办(苹果手机死机了屏幕动不了无法重启)

    苹果手机死机怎么办(苹果手机死机了屏幕动不了无法重启)

  • 手机怎么复制图片(手机怎么复制图片上的文字)

    手机怎么复制图片(手机怎么复制图片上的文字)

  • 转评是什么意思(医师职称转评是什么意思)

    转评是什么意思(医师职称转评是什么意思)

  • 存储容量1 gb等于多少(存储容量1 gb等于什么)

    存储容量1 gb等于多少(存储容量1 gb等于什么)

  • kindle付款后没有书(kindle电子书下单后未付款)

    kindle付款后没有书(kindle电子书下单后未付款)

  • 快手小店功能服务费是多少(快手小店通服务商)

    快手小店功能服务费是多少(快手小店通服务商)

  • 怎样设置电话正在通话中(怎样设置电话正在通话中苹果手机)

    怎样设置电话正在通话中(怎样设置电话正在通话中苹果手机)

  • 荣耀20pro有红外遥控吗(荣耀80有没有红外线功能)

    荣耀20pro有红外遥控吗(荣耀80有没有红外线功能)

  • vivox27相册保密柜在哪(vivox27相册保密柜怎么打开)

    vivox27相册保密柜在哪(vivox27相册保密柜怎么打开)

  • word中如何设置所有页眉都不同(word中如何设置页码从正文开始)

    word中如何设置所有页眉都不同(word中如何设置页码从正文开始)

  • idea为web项目添加tomcat并配置Artifacts(idea添加web项目)

    idea为web项目添加tomcat并配置Artifacts(idea添加web项目)

  • 电脑学习网告诉你微擎如何开启Redis?打造最强微擎性能-OK教程(电脑培训网络教学)

    电脑学习网告诉你微擎如何开启Redis?打造最强微擎性能-OK教程(电脑培训网络教学)

  • 帝国CMS自动截取简介怎么解决出现乱码的问题(帝国cms栏目自定义字段)

    帝国CMS自动截取简介怎么解决出现乱码的问题(帝国cms栏目自定义字段)

  • 增值税专用发票怎么开
  • 申报纳税的意思
  • 增值税加计扣除怎么做账
  • 个人所得税申报是公司申报还是个人申报
  • 计提工资是计提哪个月的
  • 固定资产一次性扣除政策文件
  • 取暖费扣个人所得税吗
  • 分公司非独立核算是什么意思
  • 结构性存款是
  • 企业合并所得税筹划
  • 房屋建筑物折旧率计算
  • 劳务公司的暂估费是什么
  • 工程款开票后增值税怎么做分录?
  • 政府补助收入总额等于
  • 跨年的费用需要冲减
  • 机关单位伙食
  • 最新房产税费
  • 金融保险法
  • 个人房补申请书怎么办
  • 房地产企业开具零税率发票
  • 新公司没有实收资本,他的钱从哪来
  • 向关联企业支付管理费用可以税前扣除吗
  • 代理国库税收收缴怎么做账
  • 商场收取商户违约金上什么税?
  • 建立账套的简单操作
  • 1697508230
  • 苹果手机发票要验证码吗
  • 未达起征点销售额怎么填申报表
  • 增值税小规模纳税人减免增值税政策
  • 什么情况可以出境
  • 本企业领用外购原材料进项税要转出吗
  • qq上的时间和手机不一样怎么办
  • 收到银行承兑汇票后,如何取钱
  • 没进项能开销项吗
  • 溢价购入债权投资是为啥
  • 固定资产的专票可以抵扣吗
  • npscheck.exe - npscheck是什么进程 有什么用
  • 增值税价外费用怎么算
  • 应收未收是什么
  • php实现上传图片功能
  • 基于php的系统
  • 实收资本(或股本)是什么意思
  • vue3怎么样
  • 常用的php操作mysql的函数有哪些
  • vue-print-nb-jeecg
  • 结转成本相关内容有哪些
  • 工会经费的会计分录2022
  • 在sysservers中找不到服务器
  • CentOS 7下MySQL服务启动失败的快速解决方法
  • win7怎么配置
  • 租赁公司开票没有写数量可以开吗?
  • 纳税人防伪税控设备未抄报怎么办
  • 专利年费 缴纳
  • 成品油经销企业资质
  • 购买方已认证销售方作废
  • 增值税进项税加计抵减
  • 存货报废会计账务处理
  • 支票有效期过期了怎么办
  • mysql数据库5.7.27安装
  • 存储过程实现业务逻辑
  • windows server2014 安装 Mysql Applying Security出错的完美解决方法
  • win8.1配置要求
  • 重装系统清空
  • winxp开机画面自动重启
  • 微软新品什么时候上市
  • centos 查看用户命令
  • win7使用率
  • win8.1使用教程
  • 联想电脑win7系统开机修改开机密码
  • win7系统防火墙无法关闭
  • 折腾linux 没意义
  • bootstrap导航都有哪些
  • jquery教程
  • linux rsync同步命令(值得收藏)
  • 制作网站页面
  • vue拦截器的作用及使用
  • unity3d Human skin real time rendering plus 真实模拟人皮实时渲染 plus篇
  • nginx 执行shell
  • jquery.browser
  • js继承的概念
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设