使用 Makefile 轻松使用 docker 命令!

目录
大家好!
我是来自Beyond Co., Ltd.大阪办事处的拉面大王Hide。
这是我的第一篇帖子,所以我非常紧张(冒汗)。
这篇文章的灵感来源于我的求职经历。
在求职期间,我使用 Vagrant 为我的作品集搭建了一个开发环境,但
我的电脑配置很差……运行速度极其缓慢……环境体验糟糕透顶。
我通过网络和社交媒体了解到了流行的 Docker,并尝试配置它……但
我当时意识到……“Docker 命令真的太长太繁琐了……”(TДT)
真是太可惜了,因为它的运行速度其实非常流畅……
添加各种选项后,命令长度超过 20 个字符,每次都要全部输入实在是太麻烦了。
而且,这么长的命令,难免会打错字……真是让人抓狂。
我相信很多读者都有过类似的经历 ( ・`ω・´)キリッ
那么,让我们来看看如何用几个字符运行 docker 命令吧!
什么是 Docker?
首先,你知道 Docker 是什么吗?
“那是集装箱技术!”
“鲸鱼技术!”“
它的操作非常轻便,对吧?”
以上说法全部正确。
Docker 指的是一个使用基于容器的虚拟化技术
来快速高效地运行程序的平台。
单凭这个解释可能还不够清楚,所以让我们仔细看看!
基于虚拟机管理程序的虚拟化和基于容器的虚拟化之间的区别
在解释 Docker 时,经常会比较两种虚拟化技术:
基于虚拟机管理程序的虚拟化和基于容器的虚拟化。Docker 使用的是后一种虚拟化方式。
首先,为了解释这两者之间的区别,我们需要了解虚拟机管理程序和 Docker 引擎。
虚拟机管理程序
虚拟机管理程序充当宿主机操作系统和虚拟机之间的中介,
模拟和控制虚拟机使用的硬件,例如 CPU 和内存。
此功能允许您在主机操作系统上创建多个客户操作系统,
从而实现主机操作系统和客户操作系统彼此隔离的设置。
但是,使用多个操作系统意味着使用多个内核,这
会导致开销增加,减慢处理速度,并延长启动和创建虚拟机所需的时间。
Docker 引擎
Docker Engine 控制 Docker 容器的创建、启动、停止和删除。
安装 Docker Desktop 等 Docker 客户端后,即可使用 Docker Engine。
与虚拟机管理程序不同,Docker Engine 不会创建客户操作系统,而是
与宿主操作系统共享内核,从而减少了开销,实现了极其快速轻量级的运行。
虽然 Docker 看起来只有优点,但它的一个缺点是命令非常长。
具体来说,你可能会遇到类似下面的命令……
docker-compose exec db bash -c 'mysql -u root -psecret'
“创建”工具是什么?
我们就不用再输入那些冗长的 Docker 命令了
这个 Make 工具,
这有多容易?.
docker-compose exec db bash -c 'mysql -u root -psecret'
此命令
制作 MySQL
你只需使用这个命令即可运行它 ヽ(´∀`*)ノ
这个编译工具最初是
为方便构建用 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 文件。
编译和依赖管理等任务执行
规则的文件
根据这些规则执行相应的过程。
现在,让我们来看看如何编写一个 Makefile!
它的书写方法非常简单。
您只需按照以下四个步骤即可完成!
① 输入 make 命令要设置的参数。②
按换行符。③
Windows 用户按 Tab 键,Mac 用户按右箭头键。④
输入 docker 命令。
mysql: docker-compose exec db bash -c 'mysql -u root -psecret'
⚠如果您使用带 BOM 的 UTF-8 编码,并且在运行程序时字符之间有空格,则会出现以下错误。
而不是空格键
请按 Tab 键
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>
⚠注意
:如果当前目录中没有 Makfile,则无法缩写 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 命令了!怎么样!
另外,你还可以像这样修改 Artisan 命令!
种子:docker-compose exec app php artisan db:seed
与别名相比,Makefile
更加方便,因为它对环境的依赖性更低,只需共享文件即可使用。
我鼓励大家体验使用 Makefile 带来的便捷 Docker 体验!
感谢阅读本文!
2













