将你的前端应用打包成docker镜像并部署到服务器?仅需一个脚本搞定

  • 时间:
  • 浏览:0
  • 来源:彩神官网

使用grep命令匹配到tag为none的image,awk是另兩个 强大的文本分析工具,{print $3}表示打印出匹配到的每一行的第另兩个 字段,也可是docker的image id。可能是$0说说表示当前整行的数据。

最后一句可是移除多次更新后总出 的tag为none的无用镜像。删剪的脚本如下。

许多这些办法 会给实际的生产环境带来许多不可控的问题图片报告 。比如,脚本都都可不还上能非要上传,可能涉及许多服务器的敏感信息。许多可能你不小心上传了,那你的服务器就大概裸奔了;再比如,你对你的代码都都可不还上能要十分自信,越来越经过测试的代码就直接部署,会带来许多风险。

通过ssh命令,登录远程服务器,许多执行参数中的脚本。

执行前端的打包命令,生成静态文件目录。

前段时间,我各人 搞了个阿里云的服务器。想我各人 在里面折腾,许多要我可能我各人 瞎折腾而污染了现有的环境。毕竟,现在的阿里云可能越来越免费的快照服务了。要想还原说说,最简单的办法 可是重新装系统。而一旦重装,并且的搭建的所有环境就都白搭了。

从里面步骤来看,有人都有人都 还都都可不还上能另兩个 服务器端的部署脚本。有人都有人都 可能会说,标题就有 说另兩个 脚本玩转信用卡 吗?em。。。服务器另兩个 ,本地另兩个 ...简称只需另兩个 脚本。

deploy.sh是放在服务端的构建脚本。放在默认的登录用户下。有人都有人都 发现,里面还跟了个mine,这是在服务器上运行的docker镜像的名字。这里暂时越来越对container的名字加在hash,可能我各人 的小项目,暂时越来越必要。

而清除Dockerfile则是为了处里更新了Dockerfile,而这次却非要得到最新的配置。

许多都都可不还上能在项目中加在默认nginx配置文件。

这里是在开发本地,使用docker命令来打包,好多好多 该脚本对docker有强依赖。build命令表示打包docker应用的,-t选项则制定了docker镜像的名字和tag,tag会默认为latest。

可能每次更改后dist中的内容肯定与并且不同,人太好这些步显得就有 越来越必要。运行npm的打包命令也会自动清楚该目录。

在本地的构建脚本中,有人都有人都 传入了docker运行的container的名字。在服务器构建脚本中都都可不还上能来接收它。许多更新并且推送的docker image。

好多好多 在这里做另兩个 判断,第另兩个 if判断可能所处名字为传入参数的container正在运行,就停止当前容器再重新启动。可能不所处则直接启动容器。

在项目中的删剪构建脚本如下。

总结来说,上述命令可是找到tag为none的image的ID,许多使用docker rmi命令移除该image。

run命令就不过多解释了。-d表示后台运行容器并返回容器ID,--name表示设置容器的名字,-p表示设置端口,将阿里云服务器的1150端口映射到容器的150端口,最后一句表示要启动哪个image(好像还是解释了一遍)。

它的方便体现在,当我完成了项目代码的更新,只都都可不还上能跑一下这些脚本,许多等待时间一会儿,项目就会自动打包成docker image,许多自动的在我的服务器上运行该container。

好多好多 我的观点是,分情况来。目前来说我的项目非要少数几我各人 在用,也还在所处迭代阶段。许多代码仓库是私有的,好多好多 我删剪不不担心隐私的问题图片报告 。服务未经测试就直接上线对于我来说,人太好问题图片报告 可是大。首先我会在本地测试,确认无误后才会执行部署操作。好多好多 在不同的阶段,找到最适合我各人 的方案就OK。

在打包并且,首先都都可不还上能另兩个 可正常运行的前端应用。这些都都可不还上能使用umi可能create-react-app来构建。

xargs是另兩个 给许多命令(也可是里面的docker rmi)传递参数的另兩个 过滤器,将标准输入转加在命令行参数。

可能是我各人 用的,那删剪不不担心,想缘何搞缘何搞。许多可能是开放给各人 用的许多有一定的访问量,比如博客,越来越对于许多用户来说,这些办法 就不缘何友好。

许多登录dockerHub,将定制好的镜像推送到dockerHub中。detectivehlh可是dockerHub的用户名,mine是image的名字。

加在在并且两种就想引入docker,好多好多 就打算利用docker容器来部署这次的前端应用。

最初写这些脚本,主要目的是为了方便。好多好多 脚本中为了达到这些目的做了许多调整。最终我达成了满足我需求的另兩个 方便的部署脚本。

都看标题进来的兄dei,可能可是想打包另兩个 docker镜像,越来越你只都都可不还上能Dockerfile文件和docker build命令就OK了。

在启动container时有人都有人都 会面对两种情况,名字为传入参数的container可能在运行了。而在此时可能再次运行docker run命令就会报错而意味着有人都有人都 无法使用最新的container,也无法达到更新应用的目的。

FROM制定了该定制容器的基础镜像为nginx:latest;COPY命里将打包好的静态文件目录qq克隆好友 到容器内的/usr/share/nginx/html/目录下,许多将nginx的配置写入容器中对应的位置; EXPOSE则是设置对外暴露容器的150端口。

第一次构建不不生成tag为none的image,许多里面每次再次执行该命令就会总出 并且的情况。好多好多 每次构建了另兩个 新的image后,都都可不还上能清除调非要的image。

猜你喜欢

与按不同的浏览器统计访问量相关精彩内容

作者:thinktothings2092人浏览##功能描述-nginx日志统计分析自动报表工具goaccess(推荐)-网站总访问量统计,按天统计访问量,按页面(不同URL)统

2020-01-20

1月30日云栖精选夜读:马来西亚引入中国人工智能 ,阿里云ET城市大脑为吉隆坡治堵

3月80日云栖精选夜读:三分钟,你想对世界说哪些丨蚂蚁金服发起青年导演公益短片计划6月11日云栖精选夜读丨普京点赞中国数字经济眼前 阿里巴巴正在改变俄罗斯商业《云栖精选》第7

2020-01-19

阿里巴巴iDST+阿里视频云:计算机视觉和机器学习在消费级视频中的应用

【云周刊】第155期:助APP尽情“撒币”,直播答题肩上的技术实现难度究竟几何?阿里巴巴iDST首席科学家兼副院长任小枫:最看好计算机视觉在这四大新零售细分方向的应用北京云栖大

2020-01-19

为什么有时候会因为男朋友的一句话心痛一下么

换一换你对你这名回答的评价是?可选中另另一个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个疑问。 我来答有点推荐展开全部不可能 你很在乎他并且 尽量想

2020-01-19

PostgreSQL Tutorial | psql的使用

16.psql支持输出格式化的命令,可能允许买车人定制输出的格式如此边框的列输出postgres=#SELECTversion();使用\g执行上四根命令,即SELECTver

2020-01-19