0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VagrantからUbuntu 24.04 ARM + Docker 環境構築(Apple Silicon)

Posted at

はじめに

Vagrant で VirtualBox 上に、Ubuntu 24.04 ARM + Docker の環境構築を一撃で行います。
Apple Silicon(Mシリーズ Mac)では、x86版だと動かないので ARM 版のUbuntuを使います。

実行ファイルの構成はシンプルで、Vagrantfile で VirtualBox 上に Ubuntu 24.04 ARM 環境を構築する。
Vagrantfile の中で、Ubuntu の初期設定と Docker のセットアップを行う provision.sh を呼び出して実行する流れです。

構成

.
├── Vagrantfile  ※ VirtualBox 上に Ubuntu をプロビジョニング
└── provision.sh ※ Ubuntu の初期設定と Docker のインストール&セットアップ

実行環境

•	Mac(Apple Silicon)
•	VirtualBox : 7.1.6
•	Vagrant : 2.4.3

手順

Vagrant と VirturalBox の導入手順は記載していませんので、ご了承ください。
今回紹介する Vagrant の資産は、Github に置いているので、git cloneして使ってもらっても構いません。


1. Vagrantfileの作成

vagrant initコマンドで作成してから、修正してもいいと思いますが
普通にファイル作成してもOKです。

Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  # Ubuntu 24.04(ARM)
  config.vm.box = "bento/ubuntu-24.04"
  config.vm.hostname = "ubuntu-arm64"
  config.vm.network "private_network", ip: "192.168.2.99"

  # 仮想マシンのリソース設定
  config.vm.provider "virtualbox" do |vb|
    vb.name = "ubuntu-vm"
    vb.memory = "2048"
    vb.cpus = 2
  end

  # ホストとゲスト間のフォルダ同期設定(任意)
  config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
  
  # プロビジョニングスクリプトの指定
  config.vm.provision "shell", path: "provision.sh"
end

ホスト名やポートフォワード、IPとかは、環境や好みに応じてお好きに変更してください。

2. provision.shの作成

provision.sh
#!/bin/bash

# パッケージの更新
sudo apt-get update
sudo apt-get upgrade -y

# ロケールの変更
sudo apt install -y language-pack-ja
sudo update-locale LANG=ja_JP.UTF-8

# タイムゾーンの変更
sudo timedatectl set-timezone Asia/Tokyo

# Dockerセットアップ
sudo apt-get install -y curl
curl https://get.docker.com | sudo sh

# Docker サービスの起動と自動起動設定
sudo systemctl start docker
sudo systemctl enable docker

# vagrant ユーザーを docker グループに追加
sudo usermod -aG docker vagrant

root の権限設定や、FWのポート設定などを組み込みたい場合は、このスクリプト内に追記するといいと思います。

3. Ubuntu のプロビジョニング

Vagrantfileがあるディレクトリで、以下のコマンドを実行する。

vagrant up

初回は実行完了するまで数分かかるので、コーヒーブレイクすると丁度いいです。

4. 接続確認

Ubuntuのプロビジョニングが終わったら、以下のコマンドでSSH接続できます。

vangrant ssh

その他コマンド

VM の動作確認コマンド

vagrant status

VM の停止コマンド

vagrant halt

VM の削除コマンド

vagrant destroy

さいごに

今回は、Vagrant 使ってVMとして Ubuntu を構築して、Docker をインストールしました。
ただ Docker を使いたいだけなら、DockerDesktop でローカルに環境構築する方が手っ取り早くて楽です。

他には、provision.shではなく Ansible とかで Ubuntu と Docker の設定をしてもいいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?