M1芯片MacBook安装Docker
文章目录
龙云尧个人博客,转载请注明出处。 CSDN地址:http://blog.csdn.net/michael753951 个人blog地址:http://yaoyl.cn
这里我就不做Docker的介绍了,网上有很多相关的文章,这里直接上干货。
Docker安装
直接安装docker desktop,个人免费且几乎不挑芯片和系统。
- Docker的安装和镜像拉取更行过程中,通常需要一些魔力,否则会出现登录不上或者网络连接失败,网络问题请自行解决,也可以自行寻找国内镜像源进行拉取;
- 由于Docker的商业版权问题,我的文档仅适用于个人学习使用,非常不建议用于商业用途;
- Docker只是一个平台,他可以帮你方便的管理和部署容器,但是底层任然依赖于操作系统内核和内核功能,所以有不同的解决方案能够平替Docker来帮你运行镜像、管理容器资源;
尝试在Docker中运行一个镜像
这里我直接使用MySQL为例。
虽然现在直接在容器中运行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的容器了(你可以简单理解成一个独立的Linux环境)。
在容器中执行命令登录mysql
输入mysql的登录命令
mysql -u root -p
输入你在上文所设置的密码,成功登录你的mysql实例了。
退出mysql实例
MacBook命令式 control + z
;
退出容器
容器执行如下命令即可退出;
exit
结语
好了,至此本地运行Docker管理自己的各种服务已经初步搞定,后续就是根据自己的需求,找到各种服务镜像,或者自己搭建镜像即可。