[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

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

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

你好!
我是Beyond大阪事务所的拉面大王Hide。
这是我的第一篇文章所以我真的很紧张(汗)

写这篇文章的契机是在我找工作的时候。
当我找工作时,我已经使用 Vagrant 建立了一个开发环境来创建作品集,但是
PC 规格很糟糕......它非常慢......这是最糟糕的环境。
我发现了现在在互联网和SNS上流行的Docker的存在,并尝试准备它,但
当时我真正的感受是……“Docker命令真的又长又乏味……” (TДT)
真遗憾,因为它运行得非常顺利......

当我输入各种选项时,就变成了20多个字符,每次都要不停地输入,非常繁琐。而且
当命令这么长时,我经常会出现错别字,这让我倍感沮丧。
读到这里的每个人可能都有同样的经历(・`ω・´) Kiri

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

 

什么是码头工人?

 

首先你知道docker是什么吗?

 

“肯定是关于容器技术的! ”
“是鲸鱼!
” `` `它的工作原理非常轻巧,对吗? ”

以上所有内容都是正确的。

 

Docker是一个极其轻量级的平台,利用容器虚拟化技术
来快速运行程序。
我想光凭这个你是理解不了的,我们仔细看看吧 m9(´∀`●) 太好了!!

 

 

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

 

 

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

 

首先,要解释两者的区别,我们需要了解hypervisor和docker引擎。

 

 

管理程序

 

 

虚拟机管理程序在主机操作系统和 VM(虚拟机)之间工作,
模拟和控制 VM 使用的 CPU 和内存等硬件。

这样,您可以在主机操作系统上创建您选择的多个来宾操作系统,并且
主机操作系统和来宾操作系统是隔离的。

 

然而,使用多个操作系统意味着使用多个内核,这
会产生开销并增加处理时间,从而导致启动和创建虚拟机非常耗时。

 

 

Docker引擎

 

Docker Engine控制docker的创建、启动、终止、删除等。
您可以通过安装常驻 Docker 客户端(例如 Docker Desktop)来使用它。

 

与虚拟机管理程序不同,Docker 引擎不会创建客户操作系统并
与主机操作系统共享内核,因此它的开销更少,并且速度极快且轻量级。

 

虽然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++等编译型编程语言编写的程序的工具。
但您也可以使用它来缩写命令,如上所示! !

 

现在,让我们安装它! !

 

 

 

安装制作工具

⚠对于Mac用户,它默认安装在终端中,所以对于Windows用户,请看一下。

 

 

 

 

 

从官方安装程序安装

 

 

 

 

 

单击[完整包,除了源]下的安装程序来安装安装程序。

 

 

 

 

 

 

 

单击[下一步]并根据安装程序说明进行安装。

 

设置您的 Windows 环境,以便可以在任何地方使用 Make

 

 

 

 

进入控制面板⇛系统和安全⇛系统,点击【高级系统设置】

 

 

 

 

 

 

 

 

 

 

单击[环境变量...]。

您可以选择将设置设置为用户环境变量还是系统环境变量。
如果变量列表中已经设置了“Path”,请参见①;如果没有设置,请参见②。

 

① 添加到“Path”变量

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

双击空白栏,粘贴下面的绝对路径,然后按【确定】按钮完成设置!

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

 

② 添加新的“Path”变量

 

 

 

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

 

 

 

在Power shell中输入“make”后,如果如下所示,则设置完成!

PS C:\Users\beyond_tokuhara>make make: *** 未指定目标且未找到 makefile。

 

 

 

什么是Makefile?

现在你可以安装Make了。
但是,你不能只安装它就省略docker命令。
您需要创建一个 Makefile 来省略它。

编译、管理依赖关系等
规则的文件
根据规则执行处理。
现在我们就来看看怎么写吧!

 

描述方法非常简单。
你可以按照以下4步来写! !

① 输入要在 make 命令中设置的参数。
② 进行换行。
③对于Windows用户,按Tab键;对于Mac用户,按→|键。
④编写docker命令。

 

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

 

 

⚠如果文件是UTF-8且有BOM,打开空格运行会出现如下错误。

请按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 社区服务器 - GPL 版权所有 (c) 2000、2020,Oracle 和/或其附属公司保留所有权利。Oracle 是 Oracle Corporation 和/或其附属公司的注册商标。其他名称可能是其各自所有者的商标。输入“help;”或“\h”以获取帮助,输入“\c”以清除当前输入语句。

 

⚠注意
- 如果当前目录下没有 Makfile,则省略 docker 命令将无法执行。

・如果使用 make -f 指定,则可以在任何地方使用指定的 Makfile,但

如果在 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生活。
感谢您阅读这篇文章!

如果您觉得这篇文章有帮助,请点赞!
1
加载中...
1 票,平均:1.00 / 11
17,487
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

写这篇文章的人

关于作者

隐藏@基础设施工程师

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

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

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