使用vagrant与virtualbox简易安装centos7 与 docker
使用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的所有环境状态 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 上周热点回顾(1.20-1.26)
· 【译】.NET 升级助手现在支持升级到集中式包管理