we need docker on ryzentosh!

326 阅读1分钟

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

原文连接