M1芯片MacBook安装Docker

文章目录

龙云尧个人博客,转载请注明出处。 CSDN地址:http://blog.csdn.net/michael753951 个人blog地址:http://yaoyl.cn

这里我就不做Docker的介绍了,网上有很多相关的文章,这里直接上干货。

Docker安装

直接安装docker desktop,个人免费且几乎不挑芯片和系统。

Warning
  1. Docker的安装和镜像拉取更行过程中,通常需要一些魔力,否则会出现登录不上或者网络连接失败,网络问题请自行解决,也可以自行寻找国内镜像源进行拉取;
  2. 由于Docker的商业版权问题,我的文档仅适用于个人学习使用,非常不建议用于商业用途;
  3. Docker只是一个平台,他可以帮你方便的管理和部署容器,但是底层任然依赖于操作系统内核和内核功能,所以有不同的解决方案能够平替Docker来帮你运行镜像、管理容器资源;

尝试在Docker中运行一个镜像

这里我直接使用MySQL为例。

Note

虽然现在直接在容器中运行MySQL已经很常见,但是考虑到容器回收后所有数据会被清除的问题,一般不建议把核心数据放在容器中,建议还是运行在物理主机或者云服务;

STEP1: 拉取并且运行镜像

直接在命令行中执行如下命令:

docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

-itd 参数

  • -i:保持容器的标准输入(STDIN)打开,即使没有连接(interactive 模式);
  • -t:分配一个伪终端(pseudo-TTY),让你可以像操作本地终端一样与容器交互;
  • -d:以“守护进程”模式运行容器(detached mode),即后台运行;

组合起来 -itd 表示:以后台方式运行一个可交互的容器。这算是我们运行镜像的起手式了。

--name 参数

给这个启动的容器起一个名字,方便后续管理。

-p 参数

给这个容器设置端口映射,让物理机的3306端口(左边)映射到容器中3306端口(右边);

这样你的其他本地服务,例如IDE就可以无感知的连接上容器中的MySQL服务了。

-e 参数

启动过程中,设置环境变量传递给容器。

MYSQL_ROOT_PASSWORD=123456 是MySQL镜像识别的关键变量,用于设置root用户的密码; 其他管理用户可以后续使用root创建; 新建数据库、表也建议启动后在MySQL控制台中进行操作;

命令最后的 mysql

表示我要拉取的镜像名叫做 mysql。并且拉取默认的最新版本。

如果需要执行版本,可以在命令中指定,例如: mysql:8.0

STEP2: 查看是否运行成功

docker-desktop中查看

如果我们的容器已经成功运行起来的话,我们能够在我们的 docker-desktop 中的 containers 查看到我们的容器实例,样例如下:

容器管理页面截图

命令行中查看

执行如下命令查看所有运行中的容器列表。

docker ps

命令行中查看运行的容器列表

登录mysql容器

命令行登录 mysql

由于我们的mysql是运行在容器中的,所以是不能直接在宿主机中执行mysql命令的。

所以我们登录路径应该是:物理机登录容器;然后在容器中登录mysql

首先登录容器

docker exec -it mysql /bin/bash

结合上面的解释:

  • 首先 -it 表示分配一个 伪终端 并且 支持标准输入(键盘输入命令);
  • mysql 表示准备登录的容器名称/容器id;
  • /bin/bash 打开shell,用于执行命令;

此时你应该能看到如下界面:

登录mysql容器

此时意味着你已经成功进入了运行着mysql的容器了(你可以简单理解成一个独立的Linux环境)。

在容器中执行命令登录mysql

输入mysql的登录命令

mysql -u root -p

输入你在上文所设置的密码,成功登录你的mysql实例了。

成功登录mysql实例

退出mysql实例

MacBook命令式 control + z;

退出容器

容器执行如下命令即可退出;

exit

结语

好了,至此本地运行Docker管理自己的各种服务已经初步搞定,后续就是根据自己的需求,找到各种服务镜像,或者自己搭建镜像即可。

相关系列文章