一、使用vagrant快速创建linux虚拟机

本文详细介绍了如何使用Vagrant快速创建Linux虚拟机,包括解决VirtualBox版本不兼容的问题,以及在CentOS上安装Docker的完整步骤。通过修改Vagrant的配置文件,成功启动虚拟机,并配置了Docker环境,为后续的开发工作提供了基础。
摘要由CSDN通过智能技术生成

系列文章目录


# 前言

一、环境

示例:pandas 是基于NumPy 的一种工具。

1.使用vagrant快速创建linux虚拟机

1.下载virtualbox 安装包已有
在这里插入图片描述
要开启cpu虚拟化
安装目录: D:\javaruanjian01\samll\Oracle\VirtualBox\
安装VirtualBox,建议安装最新的版本!默认安装到D盘,一直点下一步。安装前以及安装过程中,保证 我的电脑——右击——管理——服务和应用程序——服务——在服务里启动:
(1),Device Install Service.
(2),Device Setup Manager.
这两个服务启动后,在安装,安装过程中很有可能还会失败,因为这两个服务会终止。所以请在进度条卡住时(应该是在安装驱动…),赶快重启以上服务,这样可以确保安装成功

  1. 下载vagrant 安装包已有
    默认D盘,一直点下一步,重启电脑,win+R键 cmd 输入vagrant 验证是否安装成功
    安装目录: D:\javaruanjian01\samll\HashiCorp\Vagrant
  2. 使用vagrant 快速在 virtualBox 里面创建虚拟机
    vagrant官方镜像仓库
    安装centos7,创建虚拟环境。win+R键 cmd 输入 vagrant init centos/7。
    下载提速方法
    下载提速方法2
    在C:\Users\admin 创建了一个Vagrantfile
    启动虚拟环境:在 cmd 输入vagrant up 启动虚拟机。如果不成功进行以下操作: 重启后在 cmd 输入 vagrant up --provider=virtualbox
输入:vagrant up 命令时,提示如下信息
No usable default provider could be found for your system.
 
Vagrant relies on interactions with 3rd party systems, known as
"providers", to provide Vagrant with resources to run development
environments. Examples are VirtualBox, VMware, Hyper-V.
 
The easiest solution to this message is to install VirtualBox, which
is available for free on all major platforms.
 
If you believe you already have a provider available, make sure it
is properly installed and configured. You can see more details about
why a particular provider isn't working by forcing usage with
`vagrant up --provider=PROVIDER`, which should give you a more specific
error message for that particular provider.
 
遇到上面的情况,说明需要指定一个提供者,
在指定一个提供者时,输入:vagrant up --provider=virtualbox
           等号后面的名称根据提前装载的virtualbox填写
 
又提示下面的信息,说明vagrantbox的版本不再它显示的版本中,
The provider 'centos/7' could not be found, but was requested to
back the machine 'default'. Please use a provider that exists.
 
Vagrant knows about the following providers: docker, hyperv, virtualbox
 
vagrant up --provider=virtualbox
The provider 'virtualbox' that was requested to back the machine
'default' is reporting that it isn't usable on this system. The
reason is shown below:
 
Vagrant has detected that you have a version of VirtualBox installed
that is not supported by this version of Vagrant. Please install one of
the supported versions listed below to use Vagrant:
 
4.0, 4.1, 4.2, 4.3, 5.0, 5.1, 5.2, 6.0
 
A Vagrant update may also be available that adds support for the version
you specified. Please check www.vagrantup.com/downloads.html to download
the latest version.
 
然后在本地找plugin.rb、meta.rb文件进行修改
E:\HashiCorp\Vagrant\embedded\gems\2.2.6\gems\vagrant-2.2.6\plugins\providers\virtualbox\plugin.rb
 
修改这个文件,plugin.rb文件增加红色部分
 
    module Driver
      autoload :Meta, File.expand_path("../driver/meta", __FILE__)
      autoload :Version_4_0, File.expand_path("../driver/version_4_0", __FILE__)
      autoload :Version_4_1, File.expand_path("../driver/version_4_1", __FILE__)
      autoload :Version_4_2, File.expand_path("../driver/version_4_2", __FILE__)
      autoload :Version_4_3, File.expand_path("../driver/version_4_3", __FILE__)
      autoload :Version_5_0, File.expand_path("../driver/version_5_0", __FILE__)
      autoload :Version_5_1, File.expand_path("../driver/version_5_1", __FILE__)
      autoload :Version_5_2, File.expand_path("../driver/version_5_2", __FILE__)
      autoload :Version_6_0, File.expand_path("../driver/version_6_0", __FILE__)
      autoload :Version_6_1, File.expand_path("../driver/version_6_1", __FILE__)
    end
 
E:\HashiCorp\Vagrant\embedded\gems\2.2.6\gems\vagrant-2.2.6\plugins\providers\virtualbox\driver\meta.rb
修改meta.rb这个文件,增加红色的部分
driver_map   = {
            "4.0" => Version_4_0,
            "4.1" => Version_4_1,
            "4.2" => Version_4_2,
            "4.3" => Version_4_3,
            "5.0" => Version_5_0,
            "5.1" => Version_5_1,
            "5.2" => Version_5_2,
            "6.0" => Version_6_0,
            "6.1" => Version_6_1,
          }
 
在:E:\HashiCorp\Vagrant\embedded\gems\2.2.6\gems\vagrant-2.2.6\plugins\providers\virtualbox\driver
 
增加一个新文件,文件名称:version_6_1.rb,内容如下:
 
require File.expand_path("../version_6_0", __FILE__)
 
module VagrantPlugins
  module ProviderVirtualBox
    module Driver
      # Driver for VirtualBox 6.1.x
      class Version_6_1 < Version_6_0
        def initialize(uuid)
          super
 
          @logger = Log4r::Logger.new("vagrant::provider::virtualbox_6_1")
        end
      end
    end
  end
end
 
然后在执行:vagrant up --provider=virtualbox
 
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos/7'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: jmcentos7
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: bridged
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
The guest machine entered an invalid state while waiting for it
to boot. Valid states are 'starting, running'. The machine is in the
'unknown' state. Please verify everything is configured
properly and try again.
  
出现上面就成功了。 
————————————————
版权声明:本文为CSDN博主「SpringClouds」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chen_785/article/details/105613724

启动成功:
在这里插入图片描述

  1. 连接虚拟机 cmd 输入vagrant ssh 。
    当前是哪个用户:whoami
    当前虚拟机所有根目录下面的目录:ls /
    退出虚拟机:exit
  2. 端口转发:设置网络环境 找到 C:\Users\593 的 Vagrantfile 文件打开 ,找到#config.vm.network “private_network”, ip: “192.168.56.10”
    将上面那一行放开,并将ip改为 本机电脑的 Ip,win+R cmd ipconfig 找到virtualbox 的 ip ,若ipconfig不显示virtualbox host-only ethernet adapter的Ip,那就在电脑上搜索网络连接,如下图以太网3就是
    在这里插入图片描述

重启虚拟机 输入 vagrant reload,
停掉服务:ctrl + c,连接虚拟机:vagrant ssh,
在本地cmd ping虚拟机:ping 169.254.76.24
在这里插入图片描述

在虚拟机看虚拟机网络地址:ip addr,
在虚拟机里ping本地地址:ping 192.168.31.130.10
在这里插入图片描述

查看哪个用户:whoami  所有目录: ls /  退出:exit;

二、Linux安装Docker

docker 网址
docker 安装网址
在这里插入图片描述

步骤  (1)卸载docker  
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
(2)安装依赖的包  
sudo yum install -y yum-utils
(3)docker到哪里装  
 sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
(4)安装docker的客户端及容器
sudo yum install docker-ce docker-ce-cli containerd.io
 
(5)输入 y 回车,操作两次,安装完成 
(6)启动docker
sudo systemctl start docker
(7)检查docker版本: docker -v  
(8)检查下载镜像:sudo docker images
(9)设置开机自启:sudo systemctl enable docker
(10)配置镜像加速:登录阿里云 -  控制台 - 容器镜像服务 - 镜像工具 - 镜像加速器 - 找到 centOS 复制以下命令 :  
 

在这里插入图片描述
第一步创建目录:

sudo mkdir -p /etc/docker

第二步配置镜像加速器地址:

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://jf40mm47.mirror.aliyuncs.com"]
}
EOF

第三步重启docker的后台线程:

sudo systemctl daemon-reload

第四步重启docker的服务:

sudo systemctl restart docker

其他操作docker

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值