Vagrantを使用したUbuntu開発環境構築
Docker for Macの動作が重いため、Ubuntuを使いたいな〜と思いつつ、
Macでデュアルブートして壊すのが怖いので仮想環境を立ち上げてみました。
実用性があるかは分からないですが、何かの参考になれば。
出来ること
- VirtualBox上にUbuntu(GUI)環境を生成
- Visual Studio Codeを自動インストール
- Dockerを自動インストール
使用方法
[VirtualBoxのインストール]
以下のリンクから自身のOS用インストーラーを取得し、インストール
https://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html?ssSourceSiteId=otnjp
[Vagrantのインストール]
以下のリンクから自身のOS用インストーラーを取得し、インストール
https://www.vagrantup.com/downloads.html
[実行]
リポジトリをクローンし、コマンド実行
git clone https://github.com/MasanoriIwakura/ubuntu-dev.git
cd ubuntu-dev
# vagrantの実行 ※初回はインストールに時間がかかります。
vagrant up
up後、VirtualBoxが立ち上がりますが、プロビジョニングが行われるので暫く我慢です。
後からプロビジョニング内容を変更したい場合はVagrantfile
修正後、以下のコマンドを実行
何らかのインストールに失敗した場合も取りあえず以下のコマンド実行してみてください。
※私はなぜかDockerのインストール失敗して再度コマンド実行しました。
vagrant provision
[ログイン情報]
ユーザー: vagrant
パスワード: vagrant
Vagrantfileの解説
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.network "forwarded_port", guest: 3000, host: 3000
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.provider "virtualbox" do |vb|
vb.gui = true
vb.memory = "4096"
vb.customize [
"modifyvm", :id,
"--vram", "256", # フルスクリーンモード用
"--clipboard", "bidirectional", # クリップボード共有
"--draganddrop", "bidirectional", # ドラッグアンドドロップ
"--cpus", "4",
"--ioapic", "on" # I/O APICを有効化
]
end
config.vm.provision "shell", inline: <<-SHELL
apt-get update
apt-get upgrade
apt-get install -y \
ubuntu-desktop \
apt-transport-https \
ca-certificates \
software-properties-common
snap install --classic code
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
apt-get install -y docker-ce
usermod -aG docker vagrant
reboot
SHELL
# 起動時にファイル転送しておきたい場合は以下を記載
# config.vm.provision "file", source: "転送元", destination: "転送先"
end
config.vm.box = "ubuntu/xenial64"
→使用するOSの指定
config.vm.network "forwarded_port", guest: 3000, host: 3000
→ホストOSのポートと紐付け
config.vm.network "private_network", ip: "192.168.33.10"
→ゲストOSのIPアドレス設定
config.vm.provider "virtualbox" do |vb| 付近
→仮装マシンスペックの設定
config.vm.provision "shell", inline: <<-SHELL
→プロビジョニング設定。初期起動時に入れておきたいツール等を記載
参考画面
以上。
進展あればこちらの記事も修正します。