在MAC上安装docker for mac后,docker程序会在用户登录mac后自动启动,而如果用户没有登录,而是通过ssh远程登录的情况下,docker是无法启动的,在配置launchctl也无法配置自动启动命令。
经过一番搜索后,可以使用dlite来通过命令启动docker。
1.项目地址:
2.在release中下载编译好的二进制文件,将文件放到PATH下,最简单的放到/usr/local/bin/目录下,然后执行
sudo dlite init
注意需要给dlite可执行权限
chmod +x dlite
3.执行命令后,开始询问创建虚拟机的参数,一路回车,但是最后报错
|
|
手动创建.ssh目录以及config文件
sudo mkdir /var/root/.ssh
sudo touch /var/root/.ssh/config
然后重新执行sudo dlite init
而后报新的错误
|
|
需要安装依赖
brew install opam golang libev
opam init
eval
opam config env
opam install uri qcow.0.7.0 conf-libev logs fmt qcow-format
然后仍然报错,信息
|
|
根据github上的issue
问题在于执行sudo dlite init是不能加sudo,再次执行
dlite init
即可
dlite start
执行docker命令报错
|
|
执行ssh docker@local.docker 报错。 正常Dlite 会自动添加 local.docker 到 OS X 的 hosts 文件内。
需要手动更改hosts文件
dlite ip
查看ip 为192.168.64.2
sudo vi /etc/hosts
增加一行
|
|
后执行docker ps就可以了
|
|
可参考链接