amd ryzentosh 安装docker
因为virtual box 6.1.28及以上版本的host-only网络限制,需要额外配置一下网络
sudo touch /etc/vbox/networks.conf
建立文件,然后使用喜欢的编辑器 向其中添加如下代码
* 192.168.99.0/8
使用homebrew 安装docker-virtualbox
这个是github大佬制作的brew的安装包,可以避免一些配置
brew tap sergeycherepanov/docker-virtualbox
brew install docker-virtualbox
配置docker-virtualbox
sudo touch /etc/exports
设置权限为不使用密码即可执行
sudo tee /etc/sudoers.d/docker-machine-nfs <<SUDOERS
%staff ALL=(ALL) NOPASSWD: /sbin/nfsd
%staff ALL=(ALL) NOPASSWD: /bin/cp /etc/nfs.conf /etc/nfs.conf.bak
%staff ALL=(ALL) NOPASSWD: /usr/bin/tee /etc/exports
%staff ALL=(ALL) NOPASSWD: /usr/bin/tee /etc/nfs.conf
%staff ALL=(ALL) NOPASSWD: $(brew --prefix)/opt/docker-virtualbox/bin/gobetween
SUDOERS
环境变量设置
在mac上没有安装过docker for mac时,使用一下命令
brew link --force --overwrite docker-virtualbox
否则,使用如下命令
# For the bash
echo "export PATH="$(brew --prefix docker-virtualbox)/bin:$PATH"" >> ~/.bash_profile
# For the zsh
echo "export PATH="$(brew --prefix docker-virtualbox)/bin:$PATH"" >> ~/.zshrc
最后一步(在我的电脑上执行如下命令之后,zsh和bash都会进入一种不能输入命令的sleep状态,不知道咋回事,不建议执行该命令)
exec $SHELL
初始化docker-machine
docker-machine-init initialize
这会配置一个名为docker的docker machine.
使用brew来管理docker-virtualbox
开启
brew services start docker-virtualbox
这会使docker-machine虚拟机中的docker连接到mac本机上,接着便可正常使用docker了
关闭
brew services stop docker-virtualbox
额外信息
通过日志排除错误
tail -n 1000 -f /tmp/docker-virtualbox.log
使用ssh连接到虚拟机中的docker实例
docker-machine ssh docker
设置三方工具
source /tmp/docker-virtualbox.env
source /tmp/docker-virtualbox-machine.env