加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

写给前端的Docker拭魅战教程

发布时间:2019-10-01 09:58:31 所属栏目:建站 来源:花生PeA
导读:本篇文章具体而又简短的先容了:一名完全不相识 Docker 前端措施员,将全站 Docker 化的进程。内容首要包括: Docker 根基观念 真拭魅站点迁徙进程: 静态站点 Nodejs 站点(Express) WordPress(PHP) 一些必备能力:开机启动、常用Shell 文章会讲授行使 Docke
副问题[/!--empirenews.page--]

 写给前端的Docker拭魅战教程

本篇文章具体而又简短的先容了:一名完全不相识 Docker 前端措施员,将全站 Docker 化的进程。内容首要包括:

  • Docker 根基观念
  • 真拭魅站点迁徙进程:
  1. 静态站点
  2. Nodejs 站点(Express)
  3. WordPress(PHP)
  • 一些必备能力:开机启动、常用Shell

文章会讲授行使 Docker 进程顶用到的所有技能栈(Github CI、Nginx 反向署理、docker-compose),毫不会呈现“详见:http://xxx”甩链接的环境

无需再查阅其他文档,看着一篇就够了!

当前有哪些题目

手动陈设本钱太高

笔者维护了诸多网站,个中包括:

  • 我的简历:pea3nut.info,行使 Vuejs 构建的SPA单页应用,纯静态
  • 我的博客:pea3nut.blog,行使闻名的 WordPress 搭建(PHP+Apache+MySQL)
  • 一个开源项目——Pxer:pxer.pea3nut.org,官网行使 Nodejs + Express SSR 搭建

而每次我想修改某个网站内容黑白常贫困的。拿各人认识的纯静态站点来说,修改进程如下:

  • 下载:从Github下载代码,然后当地npm install
  • 开拓:npm run dev当地修改代码,测试
  • 编译:npm run build行使 Webpack 举办编译,产出静态资源
  • 上传:打开FTP软件,上传替代文件
  • 测试:看看网站是否在线上事变正常
  • 提交:将代码提交到 Github

哪怕我只是修改个错别字,都要十几分钟

网站太多,窜改太频仍,而每次不管多小的窜改都很贫困。的确让我感受本身在维护一个万级QPS的大型项目

某个处事挂了,我不懂 Linux 无法排查

最近我发明我的 MySQL 历程老是挂掉,导致全部依靠于 MySQL 的站点都挂了

我也不知道为什么,之前照旧好好的

我实行了重启历程、重启处事器、捞报错日记百度,均未奏效

好吧,着实我不太懂 Linux,也不太懂 MySQL,我只是想用下他们搭建 WordPress 站点。而最近总出题目,让我意识到:

我不只要维护站点,我还要维护情形

这个对付一名前端来说太难了,装个 nvm 就已经是我的极限了。MySQL无缘无端挂掉,我基础没有手段查出个一二三四,然后办理它

我不只要担保站点当地能跑通,还必必要陈设在长途VPS不变运行。。。

重启不可。。。那就只能重装辖档退

然则,因为搭建了很多站点,VPS处事器情形相等伟大(或者这就是 MySQL 挂掉的缘故起因),光 Apache 设置文件都几百行了。重做体系的迁徙本钱,光是想一想就耗光了我全部的勇气

新的技能方案——Docker

总结一下有如下题目:

  • 手动陈设本钱太高,改错别字都很贫困
  • 一台处事器因为时刻累积导致情形变得“脏乱差”
  • 重装体系本钱太高,难以迁徙

而 Docker,正是我办理全部题目SCP-500全能药!

那么 Docker 是怎样做的呢?

镜像与容器

Docker 中有两个重要观念。

一个是容器(Container):容器出格像一个假造机,容器中运行着一个完备的操纵体系。可以在容器中装 Nodejs,可以执行npm install,可以做统统你当前操纵体系能做的工作

另一个是镜像(Image):镜像是一个文件,它是用来建设容器的。假如你有装过 Windows 操纵体系,那么 Docker 镜像出格像“Win7纯净版.rar”文件

上边就是你所必要相识的 Docker 所有基本常识。就这么简朴

趁便一提,在 Docker 中,我们凡是称你当前行使的真实操纵体系为“宿主机”(Host)

安装 Docker

安装 Docker 在你的电脑上就像安装 VS Code 一样简朴

假如你行使的是Windows电脑,必要购置支持假造化的版本。如Win10专业版,Win10家庭版是不可的

  • Mac:https://download.docker.com/mac/stable/Docker.dmg
  • Windows:https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe
  • Linux:https://get.docker.com/

安装完Docker后,你也许会发明本身可以打开一个大度的 Docker 窗口。其拭魅这个窗口没什么用处,凡是我们都是通过CLI呼吁行的方法操纵 Docker的,就像 Git 一样

运行 Docker

接下来我们搭建一个可以或许托管静态文件的 Nginx 处事器

容器运行措施,而容器哪来的呢?容器是镜像建设出来的。那镜像又是哪来的呢?

镜像是通过一个 Dockerfile 打包来的,它很是像我们前端的package.json文件

以是建设相关为:

  1. Dockerfile: 相同于“package.json” 
  2.  | 
  3.  V 
  4. Image: 相同于“Win7纯净版.rar” 
  5.  | 
  6.  V 
  7. Container: 一个完备操纵体系 

建设文件

我们建设一个目次hello-docker,在目次中建设一个index.html文件,内容为:

  1. <h1>Hello docker</h1> 

然后再在目次中建设一个Dockerfile文件,内容为:

  1. FROM nginx 
  2.  
  3. COPY ./index.html /usr/share/nginx/html/index.html 
  4.  
  5. EXPOSE 80 

此时,你的文件布局应该是:

  1. hello-docker 
  2.   |____index.html 
  3.   |____Dockerfile 

打包镜像

文件建设好了,此刻我们就可以按照Dockerfile建设镜像了!

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读