目录隐藏 |
docker-machine 创建的主机怎么直接 ssh 进去?改了 root 密码好像也没用? | |
docker-machine 创建的主机,会遵循安全最佳实践,因此一般不会允许 root 登录,而且一般不会允许密码登录,只允许密钥登录(也就是很多国内文章称为的免密登录,其实并非免密)。 因此,使用密钥 ~/.docker/machine/machines/<机器名>/id_rsa 登录即可。 ssh -i ~/.docker/machine/machines/default/id_rsa \ -o UserKnownHostsFile=/dev/null \ -o StrictHostKeyChecking=no \ docker@$(docker-machine ip default) 这个例子中连接的是 default 这个机器,需要连接其它的机器换成别的即可。另外的两个 -o 的参数是让其不要校验服务器密钥,这当然是不安全的,不过这里只是试验的虚拟机,所以没关系。 |
|
装完 Docker Toolbox 后发现下载镜像速度太慢,是不是需要修改什么配置文件? | |
安装 Docker Toolbox 时,安装程序会使用 docker-machine 为你创建一个名为 default 的虚拟机: docker-machine create -d virtualbox default 这个虚拟机没有加任何参数,因此对于拥有伟大的墙的国内网络来说,有些不方便使用。所以最简单的做法是在安装完 Docker Toolbox 后,删掉默认的虚拟机,然后重新创建该虚拟机,创建时加入有中国特色的配置。 docker-machine rm default docker-machine create -d virtualbox \ --engine-registry-mirror https://jxus37ac.mirror.aliyuncs.com \ --engine-insecure-registry 192.168.99.0/24 \ --engine-storage-driver overlay2 \ default 删除 default 虚拟机的时候要注意,其中镜像、容器等内容都会被删除。 |
|
如何在 Docker Toolbox 中创建的 default 虚拟机中添加DOCKER_OPTS之类的配置? | |
其实在最初创建该docker host时,就可以利用 docker-machine 指定引擎配置参数,如果不要紧,可以直接rm掉这个虚拟机,重新建立。 如果不方便 rm 掉这个虚拟机,可以 docker-machine ssh 进入这个虚拟机,然后修改 /var/lib/boot2docker/profile 文件,修改里面的 EXTRA_ARGS 参数即可。 |
|
docker-machine 使用 -d generic 时,指定用户 --generic-ssh-user 后发现要 sudo 密码,结果报错退出,这是怎么回事? | |
你应该再仔细看看 generic 的官方文档:https://docs.docker.com/machine/drivers/generic/#/sudo-privileges 里面说的很清楚,默认用户是 root,但如果通过 --generic-ssh-user 指定其它用户的话,该用户必须拥有无密码sudo的能力,换句话说,就是在 sudoers 文件中对该用户配置 NOPASSWD。 |