通过 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












