使用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/Downloadshtml

一.鏡像環境準備(訪問外網較快的請跳過此步驟)

官方倉庫:https://atlas.hashicorp.com/boxes/search
官方鏡像:https://vagrantcloud.com/boxes/search
第三方倉庫:http://www.vagrantbox.es/linux

本文將採起centos7做爲實驗基礎鏡像
因爲網絡緣由,在此提供下載百度雲鏡像地址centos7:https://pan.baidu.com/s/19mcMNhyHrCH0jwXTEMWitwdocker

二.添加本地鏡像,初始化box,配置docker下載地址,啓動本地環境

1.添加本地box(訪問外網較快的請跳過此步驟)

在cmd窗口中,執行以下命令:shell

vagrant box add centos7 d:/iso/CentOS-7-x86_64-Vagrant-1804_02.VirtualBox.box
1

*** 命令參考json

vagrant box add {title} {url}
1

說明:title 建立虛擬機的別名;url 是下載到本地box的路徑,也能夠是服務器端的URL,也能夠是中央倉庫的鏡像名稱。centos

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。ssh

4.啓動本地環境

在cmd窗口中,執行以下命令:curl

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的全部環境狀態
相關文章
相關標籤/搜索