使用vagrant与virtualbox简易安装centos7 与 docker
写在前面环境要求:1.vagrant 2.virtualbox
vagrant下载地址:https://www.vagrantup.com/downloads.html
virtualbox下载地址:https://www.virtualbox.org/wiki/Downloads
一.镜像环境准备(访问外网较快的请跳过此步骤)
官方仓库:https://atlas.hashicorp.com/boxes/search
官方镜像:https://vagrantcloud.com/boxes/search
第三方仓库:http://www.vagrantbox.es/
本文将采取centos7作为实验基础镜像
由于网络原因,在此提供下载百度云镜像地址centos7:https://pan.baidu.com/s/19mcMNhyHrCH0jwXTEMWitw
二.添加本地镜像,初始化box,配置docker下载地址,启动本地环境
1.添加本地box(访问外网较快的请跳过此步骤)
在cmd窗口中,执行如下命令:
vagrant box add centos7 d:/iso/CentOS-7-x86_64-Vagrant-1804_02.VirtualBox.box
1
*** 命令参考
vagrant box add {title} {url}
1
说明:title 创建虚拟机的别名;url 是下载到本地box的路径,也可以是服务器端的URL,也可以是中央仓库的镜像名称。
2.初始化box(选择其中一步)
找到需要存放该实例的位置,在cmd窗口中执行如下命令,本文存放在d:/vagrant
------ 2.1 访问外网较快
vagrant init centos/7
1
------ 2.2 添加过本地box
vagrant init centos7
1
3.配置docker下载地址
执行第二步后,会有Vagrantfile文件生成。编辑该文件尾部加入
config.vm.provision "shell", inline: <<-SHELL
apt-get update
curl -s https://get.docker.com|sh
SHELL
1234
如图所示
说明:在SHELL内容中 可以写linux命令,读者可自定义,虚拟机启动后需要的步骤。本文只是下载了docker。
4.启动本地环境
在cmd窗口中,执行如下命令:
vagrant up
1
启动日志信息如下:
注:启动日志中包含了ssh连接信息以及用户名等等
三.修改root密码,ssh配置,docker配置,并设置开机自启docker
在cmd窗口中,执行如下命令,连接上虚拟机:
vagrant ssh
1
接下来的步骤都是在该虚拟机中操作。
1.修改root密码
在cmd窗口中,执行如下命令,并输入新密码,切换到root用户下
sudo passwd
//.....输入两次新密码
su root
123
2.ssh配置
由于ssh默认是用ca认证,没开放密码验证,故有此步骤
cd /etc/ssh
vi sshd_config
12
将内容中的
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
PasswordAuthentication no
1234
改为
# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes
#PermitEmptyPasswords no
#PasswordAuthentication no
1234
,修改完成后,重启sshd.service服务
service sshd restart
1
接下来读者可以通过ssh工具连接该虚拟机。本文使用xshell。
3.docker配置
由于docker仓库在外网,国内访问较慢,故使用阿里云镜像加速。
在xshell连接该虚拟机,并在该窗口中执行如下命令:
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://vcmrfdsm.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
1234567
4.设置开机自启docker
在xshell窗口中,执行如下命令:
systemctl enable docker
1
四.导出自己的box,留作备用
在cmd窗口中,进入到要备份的Vagrant文件的目录中,例如上面使用的目录d:/vagrant,执行如下命令,关闭虚拟机,导出镜像:
D:\vagrant>vagrant halt
==> default: Attempting graceful shutdown of VM...
D:\vagrant>vagrant package --base centos7-docker --output d:/iso/centos7-docker.box
==> centos7-docker: Clearing any previously set forwarded ports...
==> centos7-docker: Exporting VM...
==> centos7-docker: Compressing package to: d:/iso/centos7-docker.box
123456
注:centos7-docker 虚拟机的名称,这个名称本人已修改
原本如图中所示
读者可以用过VirtualBox的设置进行修改
这样读者就拥有了一个具有docker的centos7镜像了
附录:
Vagrant命令
命令 | 作用 |
---|---|
vagrant box add | 添加box的操作 |
vagrant init | 初始化box的操作,会生成vagrant的配置文件Vagrantfile |
vagrant up | 启动本地环境 |
vagrant ssh | 通过ssh登录本地环境所在虚拟机 |
vagrant halt | 关闭本地环境 |
vagrant suspend | 暂停本地环境 |
vagrant resume | 恢复本地环境 |
vagrant reload | 修改了Vagrantfile后,使之生效(相当于先 halt,再 up) |
vagrant destroy | 彻底移除本地环境 |
vagrant box list | 显示当前已经添加的box列表 |
vagrant box remove | 删除相应的box |
vagrant package | 打包命令,可以把当前的运行的虚拟机环境进行打包 |
vagrant plugin | 用于安装卸载插件 |
vagrant status | 获取当前虚拟机的状态 |
vagrant global-status | 显示当前用户Vagrant的所有环境状态 |
原文地址:https://www.cnblogs.com/wzz2500/p/11434434.html