背景
最近换了个 Macbook Air M3, 写个人项目需要用到 Docker,配置过程有一点点坎坷,还是得记录下避免重蹈覆辙。
什么。为什么是买 Air 而不是 Pro Max? 因为码农的钱也是钱啊。
这里我不会先讲原理,我认为工程的事情都是先看到现象,有了概念的轮廓,才应该去研究原理,这样才不会云里雾里。
安装
这里需要安装这么些东西:
Homebrew
MacOS 下必装的一个神器,用来轻松下载各种工具包和库。👉点这里去官网下载👈.
然后根据官网的指引,用如下命令进行安装:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
其余信息请自行前往官网查看:
Docker
这里指的是下载 Docker 本体,有了 Homebrew 后,这个过程就非常简单:
brew install docker
下载过程如下(看红框内的关键信息即可):
这时候我们开开心心尝试运行 Docker,其中涉及到的参数有:
--name test
:给新创建的容器命名为 test。
-p 10086:80
:将容器内的端口 10086 映射到主机上的端口 80。
-it
:以交互模式运行容器,并分配一个伪终端(TTY)。
ubuntu
:使用 Ubuntu 镜像来创建容器。
最后得到的命令就是
docker run --name white-night -p 10086:80 -it ubuntu
一运行,果然报错了:
carbon@CarbondeMacBook-Air ~ % docker run --name white-night -p 10086:80 -it ubuntu
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.
大概意思就是说,docker daemon
没启动,那么怎么启动呢?
网上还有一堆教程让用systemctl
来启动,结果似乎还需要额外安装systemctl
才能用,不然会报错:
carbon@CarbondeMacBook-Air ~ % sudo systemctl start docker
Password:
sudo: systemctl: command not found
carbon@CarbondeMacBook-Air ~ % systemctl status docker
zsh: command not found: systemctl