🦄 2024 独立开发者训练营,一起创业!查看介绍 / 立即报名(剩余10个优惠名额) →

Docker:应用从开发到生产的正确方法

扯淡的文章,主要目的是说服你放弃现有的开发环境,比如这些:WAMP,MAMP,XAMPP,Acquia Dev Desktop ... 无论您是一个人,还是一个团队,考虑一下在开发与生产环境中使用 Docker 。

从前

美好的回忆,但那已经是过去。多年前,打算学 PHP 的时候,搜遍互联网寻找搭建运行 PHP 网站的方法,到七八个网站下载环境需要的不同的部分,安装以后还要考虑怎么配置,把它们拼到一块儿工作,当时对我来说是件很难的事情。后来我发现了 WAMP ,只需要到一个地方下载个东西,然后安装一下就可以拥有一个完整的开发环境,感觉很美好。之后很长一段时间我都是用它在本地设计网站,后来我换了 macOS ,所以又用了一阵子 MAMP 。

历史

选择 WAMP 这样的工具,跟我当时的情况有关。设计的网站主要是企业网站,这些网站做好以后很少修改,网站的运行环境一般是虚拟主机,一般只提供使用 FTP 传输文件的权限。使用 WAMP,也限制了整个开发流程,一般像这样:在本地做好网站,感觉差不多了以后就停止继续设计。然后打包网站文件,导出在本地的数据库。把网站文件包扔到虚拟主机上,在线解压,导入数据库。修改网站的配置文件,让网站可以正常运行。从此网站跟本地之间几乎就没有关系了,出现问题直接在线修改。

命令行

11 年,网站要上线,买了台 Linux 系统的云服务器,我从来没用过 Linux ,我知道自己只需要搭建一个 LAMP(Linux Apache MySQL PHP ) 环境。买了一本国产的超级厚的 Linux 书,没能解决我的问题。继续搜索整个互联网,踉跄的让服务器可以运行我的 Drupal 网站,也掌握了一套基本的搭建环境的方法。也是从那时起,我开始习惯在命令行下工作。

因为太依赖图形界面,所以当时我非常抵触命令行工具,觉得傻瓜才用那玩意。直到我必须得用它去配置服务器,我才开始慢慢习惯。现在,命令行工具已经是我工作流程中不能缺少的一部分。

虚拟机

有阵子服务器被黑,让我非常痛苦,我打算了解更多关于 Linux 的东西,想去测试新的环境组合,比如我想把 Apache 换成 NGINX 。 直接在服务器上配置也挺麻烦,后来发现使用 Vagrant 可以很方便的在本地为项目创建虚拟机。它很出色,也给我很多启发。在本地搭建一个跟服务器类似的环境,在上面开发,应该可以保证网站在服务器上的运行没有太多意外。

我开始在本地为项目做版本控制,把修改推送到秘密仓库,再手工把修改拉取到每台服务器上。这时我已经在运行平台上使用了一些新玩意,负载均衡,独立的数据库服务,缓存服务。这个过程并不流畅,我要继续寻找更好的方法。我带着使命,因为我想让像我一样努力挣扎的自由职业者们的生活变得更轻松一点。

Docker

去年的年初,我听说了 Docker,有会员提醒我,说他想学用 Docker 运行应用。我到你吐吧网站上搜了下,看到 Docker 的 Founder 介绍 Docker 的视频,一下子被吸引了。他举了船运行业如何用集装箱解决运输问题的例子,把它套用在软件开发行业。把应用还有运行应用依赖的东西放到一个容器里,这样你就可以很方便地把它转移到任何地方,那些地方不需要知道容器里有什么,也不在乎,它们只需要知道怎么样处理这个容器本身就行了。完美的比喻,清晰的描述,加上那头可爱的小鲸鱼(Docker 标志)让我对 Docker 充满好感。Docker 的成功也让 Docker 公司成为了独角兽。

直到最近我才下决心去尝试使用 Docker,也做了一些视频。它真是一个用起来极其简单,实际又非常强大的工具。我认为 Docker 应该出现在你的开发与生产环境上,它让这个过程流畅很多。无论你是一个人,还是一个庞大的团队,都应该给它一个机会。

把手里的 WAMP,MAMP 放到柜子里,然后 Docker 起来 :)

Docker

评论

技术的发展总是给我们带来更多的便利.

docker 真的是很强大,我今天试了它的集群功能,只需要几行命令就可以创建一个服务器集群,而且很多常用的功能已经配置好了,比如负载均衡,服务查找,DNS ,网络等等。

皓哥加油!期望生产环境下的 Docker 实践视频教程能早日出现!哈哈

期待Docker集群以及生产环境的教程。

「 因为太依赖图形界面,所以当时我非常抵触命令行工具,觉得傻瓜才用那玩意。直到我必须得用它去配置服务器,我才开始慢慢习惯。现在,命令行工具已经是我工作流程中不能缺少的一部分。」
感同身受,慢慢的也在强迫自己熟悉命令行工具。

想转发这篇博文,刚看下宁皓网微信订阅号好像才同步到《春游》这篇博文。

我非常乐意把宁皓网推(an)荐(li)给我的朋友,在这里我学会了很多东西,工资也蹭蹭的涨了不少:)
祝宁皓网越来越好!

听到这样的话,我太高兴了。哈哈。

“我带着使命,因为我想让像我一样努力挣扎的自由职业者们的生活变得更轻松一点。”

感动!!

:)

Vagrant 可以下课了?

还有用,留着。不过如果你用 Windows ,并且开启了 Hyper-V ,这样 Virtualbox 这种软件就不能用了。

哈哈, 没有早看到这句话,

使用远程桌面干活, Hyper V + Virtualbox 折腾了一天, 最后宣布放弃, 编程环境的合理化, 还是 mac 好. windows 搭建任何编程相关的环境都是灾难.
因为你最开始要解决的, 不是编程问题, 而是各种层出不穷的 windows 问题, 我的 windows 还是正版, 我还多少懂点电脑, 会 google 解决问题.
真是说多了都是泪.

好好学习!现在新技术需要太多的精力。原先的模式要改变也需要很多的努力啊。

微信好友

用微信扫描二维码,
加我好友。

微信公众号

用微信扫描二维码,
订阅宁皓网公众号。

240746680

用 QQ 扫描二维码,
加入宁皓网 QQ 群。

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点