写给前端的Docker实战教程
副标题[/!--empirenews.page--]
本篇文章详细而又简短的介绍了:一名完全不了解 Docker 前端程序员,将全站 Docker 化的过程。内容主要包含:
文章会讲解使用 Docker 过程中用到的全部技术栈(Github CI、Nginx 反向代理、docker-compose),绝不会出现“详见:http://xxx”甩链接的情况 无需再查阅其他文档,看着一篇就够了! 当前有哪些问题手动部署成本太高 笔者维护了诸多网站,其中包含:
而每次我想修改某个网站内容是十分麻烦的。拿大家熟悉的纯静态站点来说,修改过程如下:
哪怕我只是修改个错别字,都要十几分钟 网站太多,改动太频繁,而每次不管多小的改动都很麻烦。简直让我感觉自己在维护一个万级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家庭版是不行的
安装完Docker后,你可能会发现自己可以打开一个漂亮的 Docker 窗口。其实这个窗口没什么用处,通常我们都是通过CLI命令行的方式操作 Docker的,就像 Git 一样 运行 Docker接下来我们搭建一个能够托管静态文件的 Nginx 服务器 容器运行程序,而容器哪来的呢?容器是镜像创建出来的。那镜像又是哪来的呢? 镜像是通过一个 Dockerfile 打包来的,它非常像我们前端的package.json文件 所以创建关系为:
创建文件 我们创建一个目录hello-docker,在目录中创建一个index.html文件,内容为:
然后再在目录中创建一个Dockerfile文件,内容为:
此时,你的文件结构应该是:
打包镜像 文件创建好了,现在我们就可以根据Dockerfile创建镜像了! (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |