使用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的所有环境状态
posted @ 2019-08-30 12:58  wzz2500  阅读(782)  评论(0编辑  收藏  举报