2019/08/27

vagrant で Apache を利用するとパーミッションの問題が発生する 一般ユーザ同様に、グループ設定を行う

Ubuntu

# usermod -aG www-data vagrant # getent group www-data www-data:x:33:vagrant

CentOS

# usermod -aG apache vagrant

  2019/08/21

構成

centos7 ├ docker-compose.yml ├ docker │  ├ Docker用コンテンツ・設定など └ Vagrantfile

Vagrantインストール

macOS用のdmgをダウンロード Download Vagrant

初期設定

ここでは CentOS7 を作成する

$ mkdir vagrant $ cd vagrant $ vagrant init centos/7

Vagrantfile が作成される 以後はこのディレクトリで操作する

vagrant 起動

$ vagrant up

VirtualBox の CentOS7 が起動 初回はCentOS7イメージをダウンロード&インストール

$ vagrant box list centos/7 (virtualbox, 1905.1)

Vagrant Box

vagrant 停止

$ vagrant halt

vagrant 再起動

$ vagrant reload

仮想マシン破棄

$ vagrant destroy

ネットワークブリッジ

固定IPも設定できるが、とりあえず DHCP でBridgeで設定する

config.vm.network "public_network"

ちなみにIP固定は

config.vm.network "public_network, ip: "IPアドレス"

Vagrant を再起動すると、どのネットーワークか聞かれるので、利用したい番号を入力

$ vagrant reload ==> default: Checking if box 'centos/7' version '1905.1' is up to date... ==> default: Clearing any previously set network interfaces... ==> default: Available bridged network interfaces: 1) en0: Wi-Fi (AirPort) 2) p2p0 3) awdl0 4) en3: Thunderbolt 1 5) en1: Thunderbolt 2 6) en4: Thunderbolt 3 7) en2: Thunderbolt 4 8) bridge0 9) en5: USB Ethernet(?) ==> default: When choosing an interface, it is usually the one that is ==> default: being used to connect to the internet. default: Which interface should the network bridge to

ネットーワークを指定

ブリッジするネットーワークがわかっている場合は、Vagrantfile で指定できる(名称は筐体によって異なる)

config.vm.network "public_network", bridge: "en0: Wi-Fi (AirPort)"

SSH接続

$ vagrant ssh

OS確認

$ cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core)

root & vagrantユーザ

sudo

$ sudo su

パスワード不要 ※sudoにはパスワードは設定しない事

su

$ su

パスワードはvagrant

vagrant

$ su vagrant

パスワードはvagrant

ifconfigインストール

デフォルトでは ifconfig が利用できないのでインストール

# yum install net-tools

ifconfig で確認すると DHCPで IP が割り振られている

$ ifconfig eth1: flags=4163 mtu 1500 inet 192.168.11.9 netmask 255.255.255.0 broadcast 192.168.11.255

DockerCompose インストール

Vagrantで docker-compose を起動する場合、vagrant-docker-compose が必要

$ vagrant plugin install vagrant-docker-compose

VirtualBoxイメージのメモリ&CPU設定

Vagrantfile ファイルに記述


  config.vm.provider "virtualbox" do |vb|
    vb.memory = "2048"
    vb.cpus = "2"
  end

共有フォルダ設定

ホストOS(Mac)とゲストOS(VirutalBox上のOS)ディレクトリを共有する場合 vagrant-vbguest が必要 VirtualBox での共有ディレクトリと同じで、

mount -t vboxsf -o uid=ユーザ,gid=ユーザ,dmode=0777,fmode=0666 共有フォルダ名 マウントパス

といった Vagrantfile ファイルに基づいて設定してくれる

vagrant-vbguest インストール

$ vagrant plugin install vagrant-vbguest $ vagrant vbguest $ vagrant vbguest --status [default] GuestAdditions 6.0.10 running --- OK.

Vagrantfile 設定

共有ディレクトリ vagrant のパーミッションを変更する

config.vm.synced_folder ".", "/vagrant", mount_options: ['dmode=775','fmode=666']

vagrant plugin 確認

$ vagrant plugin list vagrant-docker-compose (1.3.0, global) vagrant-vbguest (0.19.0, global)

Vagrantfile 設定

config.vm.synced_folder "./docker", "/vagrant/docker"
<< Top < Prev Next > Last >>