开发工具Tools·正则表达式

作者 : jamin 本文共2359个字,预计阅读时间需要6分钟 发布时间: 2020-10-18 共1132人阅读

Vagrant

安装虚拟机

初始化

vagrant --help
# 创建目录
mkdir DockerProject
cd DockerProject

# 创建 centos-7 Vagrantfile
vagrant init centos/7

# 查看描述文件
more Vagrantfile

# 安装
vagrant up

操作

# 安装/启动
vagrant up

# 重启
vagrant reload

# 停止
vagrant halt

# 删除
vagrant destroy

# 恢复
vagrant resume

# ssh 登陆
vagrant ssh

# 查看状态
vagrant status

如果是打开多个,选定主机:

# ssh 登陆
vagrant ssh docker-demo

配置

Vagrantfile:

Vagrant.require_version ">= 1.6.0"

boxes = [
    {
        :name => "docker-demo",
        :eth1 => "192.168.205.10",
        :mem => "1024",
        :cpu => "1"
    }
]

Vagrant.configure(2) do |config|

  config.vm.box = "centos/7"

  boxes.each do |opts|
      config.vm.define opts[:name] do |config|
        config.vm.hostname = opts[:name]
        config.vm.provider "vmware_fusion" do |v|
          v.vmx["memsize"] = opts[:mem]
          v.vmx["numvcpus"] = opts[:cpu]
        end

        config.vm.provider "virtualbox" do |v|
          v.customize ["modifyvm", :id, "--memory", opts[:mem]]
          v.customize ["modifyvm", :id, "--cpus", opts[:cpu]]
        end

        config.vm.network :private_network, ip: opts[:eth1]
      end
  end

  config.vm.synced_folder "./labs", "/home/vagrant/labs", type:"virtualbox"
  config.vm.provision "shell", privileged: true, path: "./setup.sh"

end

setup.sh:

#/bin/sh

# install some tools
sudo yum install -y git vim gcc glibc-static telnet bridge-utils

# install docker
curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh

# start docker service
sudo groupadd docker
sudo usermod -aG docker vagrant
sudo systemctl start docker

rm -rf get-docker.sh

共享目录

vagrant-vbguest

vagrant-vbguest

vagrant plugin install vagrant-vbguest

vagrant-winnfsd

vagrant 有四种共享目录的方式:

  1. NFS 共享方式,windows 平台无法使用此配置,且用此方式时不能修改文件的所有者和所有组。
  2. RSync 共享方式,所有平台都可以使用,但这种方式貌似有个缺点就是主机的改动可以同步到虚拟机中,但虚拟机中的改动无法同步到主机中,如果要实现双向同步可能还需做其它设置。
  3. SMB 共享方式,只有 windows 平台可以使用。
  4. VirtualBox 共享方式,这是 VirtualBox 提供的也是 vagrant 默认的共享方式。当文件数量小时用着不错,当文件数量大的时候打开网页会卡到超时。

通过 vagrant-winnfsd 可以实现 NFS 同步。

vagrant plugin install vagrant-winnfsd

修改后的 Vagrantfile:

Vagrant.require_version ">= 1.6.0"

boxes = [
    {
        :name => "Nicestar-docker",
        :eth1 => "192.168.205.10",
        :mem => "2048",
        :cpu => "1"
    }
]

Vagrant.configure(2) do |config|

  config.vm.box = "centos/7"

  boxes.each do |opts|
      config.vm.define opts[:name] do |config|
        config.vm.hostname = opts[:name]
        config.vm.provider "vmware_fusion" do |v|
          v.vmx["memsize"] = opts[:mem]
          v.vmx["numvcpus"] = opts[:cpu]
        end

        config.vm.provider "virtualbox" do |v|
          v.customize ["modifyvm", :id, "--memory", opts[:mem]]
          v.customize ["modifyvm", :id, "--cpus", opts[:cpu]]
        end

        config.vm.network "private_network", type: "dhcp", ip: opts[:eth1]
      end
  end

  config.vm.synced_folder "./labs", "/home/vagrant/labs", type: "nfs", automount: true
  config.vm.provision "shell", privileged: true, path: "./setup.sh"

end
本站所提供的部分资源来自于网络,版权争议与本站无关,版权归原创者所有!仅限用于学习和研究目的,不得将上述内容资源用于商业或者非法用途,否则,一切后果请用户自负。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源。如果上述内容资对您的版权或者利益造成损害,请提供相应的资质证明,我们将于3个工作日内予以删除。本站不保证所提供下载的资源的准确性、安全性和完整性,源码仅供下载学习之用!如用于商业或者非法用途,与本站无关,一切后果请用户自负!本站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。如有侵权、不妥之处,请联系站长以便删除!
金点网络 » 开发工具Tools·正则表达式

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
是否提供免费更新服务?
持续更新,永久免费
是否经过安全检测?
安全无毒,放心食用

提供最优质的资源集合

立即加入 友好社区
×