我们的课程绝大部分实验是通过Vagrant+Virtualbox搭建的CentOS7并安装Docker来做的。但是大家不要着急,我们在第二章实验环境的搭建会详细介绍Vagarnt+Virtualbox如何在MAC、Windows上安装和使用。
下面是可能遇到的问题,以及解决方法,我们会不定期进行更新和添加。
目前Vagrant只支持VirtualBox versions 4.0.x, 4.1.x, 4.2.x, 4.3.x, 5.0.x, 5.1.x, and 5.2.x. 其它版本不支持,大家的virtualbox如果不是这几个版本,请卸载重新安装
https://www.vagrantup.com/docs/virtualbox/
所谓Vagrant虚机已创建,就是大家运行完Vagrant up,然后通过vagrant status查看,状态是running
$ vagrant status
Current machine states:
docker-host running (virtualbox)
The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.
但是通过Vagrant ssh docker-host进到里面去,发现docker并未安装成功。解决步骤如下:
- 退出当前vagrant host
- 运行 vagrant up --provision 重新安装docker试试
- 如果安装还是失败,建议大家试试Docker的国内源,在vagrant host里运行 curl -sSL https://get.daocloud.io/docker | sh
理论上讲,我们完成一章的学习会把这一章的Vagrant实验环境清理掉,通过(vagrant destroy)。
但是,如果大家不同章节的实验环境(Vagrant机器)都要保留,那么注意每次使用Vagrant up之前可以修改下box的name和eth1的IP地址,确保不同章节的不冲突。
比如第三章可以用:
# chapter3/Vagrantfile
boxes = [
{
:name => "docker-chapter3",
:eth1 => "192.168.205.13",
:mem => "1024",
:cpu => "1"
}
]
第四章可以用
# chapter4/Vagrantfile
boxes = [
{
:name => "docker-chapter4",
:eth1 => "192.168.205.14",
:mem => "1024",
:cpu => "1"
}
]
如果大家感觉在我们的Vagrant 机器里下载docker image速度很慢或者干脆访问失败,则可以设置镜像加速,使用国内的镜像加速,方法如下:
以CentOS7为例,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)
{
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}
注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。
之后重新启动服务。
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker