通过 Makefile 享受使用 docker 命令的乐趣!

福龙拉面和立总店(大阪市本町)

大家好!
我是Hide,来自Beyond Inc.大阪办公室的拉面大王。
这是我的第一篇帖子,所以我超级紧张(笑)。

写这篇文章的契机源于我的求职经历。
求职期间,我用 Vagrant 搭建了一个开发环境来制作作品集,但
我的电脑配置太差……运行速度慢得令人发指……简直糟糕透了。
后来我在网上和社交媒体上了解到了流行的 Docker,并尝试搭建它……但
当时最让我震惊的是……“Docker 命令也太长太繁琐了吧……”(TДT)真是
可惜,因为它的运行速度其实非常流畅……

如果添加各种选项,命令长度会超过 20 个字符,每次都要输入非常繁琐。
而且命令这么长,很容易打错字,真的很烦人。
读到这里的人可能都有过类似的经历 ( ・`ω・´)キリッ

那么,让我们来看看如何用几个字符运行 docker 命令吧!

 

什么是 Docker?

 

首先,你知道 Docker 是什么吗?

 

“是集装箱技术那个!”
“是鲸鱼技术那个!”“
它很轻,对吧?”

以上说法全部正确。

 

Docker是一个利用容器化虚拟化技术
快速轻量级运行程序的平台。
仅仅了解这一点可能还不够,所以让我们更深入地了解一下。

 

 

基于虚拟机管理程序的虚拟化和基于容器的虚拟化之间的区别

 

 

在解释 Docker 时,经常会比较两种虚拟化技术:
基于虚拟机管理程序的虚拟化和基于容器的虚拟化,而 Docker 使用的是后者。

 

首先,为了解释这两者之间的区别,我们需要了解虚拟机管理程序和 Docker 引擎。

 

 

虚拟机管理程序

 

 

主机操作系统和虚拟机之间虚拟机
使用的硬件

这样,您就可以在主机操作系统上创建多个您选择的客户操作系统,并且
主机操作系统和客户操作系统彼此隔离。

 

但是,使用多个操作系统意味着使用多个内核,这
会产生开销并减慢处理速度,从而延长启动和创建虚拟机的时间。

 

 

Docker 引擎

 

Docker Engine 控制 Docker 容器的创建、启动、关闭和删除。
您可以通过安装 Docker Desktop 等 Docker 客户端来使用它。

 

与虚拟机管理程序不同,Docker Engine 不会创建客户操作系统,而是
与宿主操作系统共享内核,这减少了开销,使其速度非常快且重量级。

 

虽然 Docker 看起来只有优点,但它的缺点之一是命令非常长。
具体来说,你可能需要输入以下很长的命令……

docker-compose exec db bash -c 'mysql -u root -psecret'

 

 

“创建”工具是什么?

 


这个 Make 工具,我们就不用再输入冗长的 Docker 命令了。

 

这有多容易?.

docker-compose exec db bash -c 'mysql -u root -psecret'

此命令

 

 

制作 MySQL

你只需使用这个命令即可运行它 ヽ(´∀`*)ノ

 

make 工具最初
设计用于轻松构建用 C 和 C++ 等编译型编程语言编写的程序。
但是,它也可以像上面那样用于简化命令!

 

现在,让我们开始安装吧!

 

 

 

安装 Make 工具

⚠如果您使用的是 Mac,则默认情况下已安装在终端中,因此请检查您是否使用的是 Windows。

 

 

 

 

 

使用官方安装程序进行安装

 

 

 

 

 

点击【完整软件包,不包括源代码】下的“安装”按钮来安装安装程序。

 

 

 

 

 

 

 

点击【下一步】,然后按照安装程序中的说明进行操作。

 

配置您的 Windows 环境,以便您可以使用 Make Anywhere。

 

 

 

 

转到“控制面板”>“系统和安全”>“系统”,然后单击“高级系统设置”。

 

 

 

 

 

 

 

 

 

 

点击[环境变量(N)...]。

您可以自行决定将其设置为用户环境变量还是系统环境变量。
如果“Path”已在变量列表中设置,请参阅①;如果未设置,请参阅②。

 

① 添加到“路径”变量

 

 

 

 

 

 

 

 

从变量列表中选择“路径”,然后单击“编辑”。

 

 

 

 

 

 

 

 

 

双击空白字段,粘贴下面的绝对路径,然后按 [确定] 按钮完成设置!

C:\Program Files (x86)\GnuWin32\bin

 

②添加一个新的“路径”变量

 

 

 

点击【新建】,输入图中所示的变量名和变量值,然后
按【确定】按钮完成设置!

 

 

 

在 PowerShell 中输入“make”后,如果看到以下内容,则表示设置已完成!

PS C:\Users\beyond_tokuhara>make make: *** 未指定目标,也未找到 Makefile。中止。.

 

 

 

什么是Makefile?

现在 Make 已经安装好了,太棒了 (≧▽≦★)
但是安装完它并不意味着你可以省略 docker 命令……
你需要创建一个 Makefile 来省略它。


一个描述
编译规则、依赖管理规则等的根据这些规则执行相应的编译过程。
让我们来看看如何编写一个 Makfile!

 

这种写作方法非常简单,
只需以下四个步骤即可完成!

1. 输入 make 命令要设置的参数。2
. 按 Enter 键。3
. Windows 用户应按 Tab 键,Mac 用户应按 →| 键。4
. 输入 docker 命令。

 

mysql: docker-compose exec db bash -c 'mysql -u root -psecret'

 

 

⚠如果您使用带有 BOM 的 UTF-8 编码并留有空格,则会出现以下错误。
而不是空格键
来创建空格

 

make mysql makefile:5: *** 缺少分隔符。中止。.

 

 

输入“生成”命令

现在一切就绪,让我们开始输入命令吧!

如果像下面这样,你就成功了ヽ(*·ᗜ·)ノヽ(·ᗜ·* )ノ 高触感!

PS C:\Users\beyond_tokuhara>make mysql docker-compose exec db bash -c 'mysql -u root -psecret' 欢迎使用 MySQL 监视器。命令以 ; 或 \g 结尾。您的 MySQL 连接 ID 为 14 服务器版本:8.0.21 MySQL Community Server - GPL 版权所有 (c) 2000, 2020, Oracle 和/或其附属公司。保留所有权利。Oracle 是 Oracle Corporation 和/或其附属公司的注册商标。其他名称可能是其各自所有者的商标。输入 'help;' 或 '\h' 获取帮助。输入 '\c' 清除当前输入语句。mysql>

 

⚠注意
・如果当前目录中没有 Makefile,则不能省略 Docker 命令。

・您可以通过使用 make -f 指定来在任何地方使用指定的 Makefile,但请注意,如果
在高于包含 docker-compose.yml 和 docker-compose.yaml 的目录的目录中运行 Make 命令,
则会发生以下错误。

PS C:\Users>make -f \Users\beyond_tokuhara\Makefile sql docker-compose exec db bash -c 'mysql -u root -psecret' 错误:在此目录或其任何父目录中找不到合适的配置文件。您是否位于正确的目录中?支持的文件名:docker-compose.yml、docker-compose.yaml make: *** [sql] 错误 1

 

概括

你觉得怎么样?
很简单吧!
而且我觉得你只用了几个字符就执行了 Docker 命令(-`ω-)Tsk!
另外,你还可以通过以下方式调整 Artisan 命令!

种子:docker-compose exec app php artisan db:seed

与别名相比,Makefile 对环境的依赖性更低,而且
非常方便,只需共享文件即可立即使用。
希望大家都能通过 Makefile 享受舒适的 Docker 使用体验。
感谢阅读本文!

如果您觉得这篇文章有帮助,请点赞!
2
加载中...
2 票,平均:1.00 / 12
18,695
X Facebook 哈特纳书签 口袋

写这篇文章的人

关于作者

隐藏@基础设施工程师

这一切都始于一次非常有趣的采访。
大阪系统解决方案部门的一名职业中期员工。我的
工作是构建和运营服务器和云!
我拥有 LPIC1、AWS SAA 和 OCI 架构师助理资格。

其实我很喜欢拉面,
已经调查过大阪100多家店了(。-∀-)我要努力成为Nibi Beyond

我也在Twitter,所以请关注我(´∇`)
点击右上角的Twitter标记! !