数理コンサルタントの備忘録

あなたの悩みを数理で解決する

VirtualBox 上で のDocker環境構築vol.1

macユーザーだが、Docker for Mac が遅いらしい(参考)ので、VM上でdocker環境を構築していく。

  1. まずはVMをインストールする

  2. インストール後、MacのVirtualbBoxでホストアダプターが作成できない問題を解決する (参考) システム環境設定→セキュリティとプライバシー→一般
    と遷移し、VirtualbBoxに「ダウンロードしたアプリケーションの実行許可」を与える

その後、ターミナルで以下を実行。

sudo /Library/Application\ Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh restart
  1. VirtualBox > ファイル > ホストネットワークマネージャー > 作成

  2. Amazon Linux 2 の VM イメージをダウンロードする。

  3. cloud-init 用の ISO イメージ (cidata) を作成する

mkdir -p ~/Desktop/amzn2
cd ~/Desktop/amzn2
mkdir seedconfig

cat <<__EOT__>seedconfig/meta-data
local-hostname: amzn2
__EOT__

cat <<__EOT__>seedconfig/user-data
#cloud-config
# ↑1行目の「#cloud-config」を抜かないこと。

# デフォルトで ec2-user ユーザが作成される。
users:
  - default

# ec2-user ユーザのパスワードを指定する。: の後にスペースを入れると、スペース入りのパスワードになるので注意。
chpasswd:
  list:
    - "ec2-user:amazon"

# あとで eth1 を作るために、vboxnet0 のネットワーク内の IP アドレスを指定する。
write_files:
  - path: /etc/sysconfig/network-scripts/ifcfg-eth1
    content: |
      BOOTPROTO=static
      DEVICE=eth1
      IPADDR=192.168.56.78
      ONBOOT=yes
      TYPE=Ethernet
      PREFIX=24
      PEERDNS=no
      IPV6INIT=no
      DEFROUTE=no
      EC2SYNC=no
      USERCTL=no
      PERSISTENT_DHCLIENT=no
__EOT__

mkdir -p ~/VirtualBox\ VMs

# ISO イメージを作成する
hdiutil makehybrid -o ~/VirtualBox\ VMs/seed.iso -hfs -joliet -iso -default-volume-name cidata seedconfig/

# ダウンロードした VM イメージも、コピーしてから使う
cp -p ~/Downloads/amzn2-virtualbox-2.0.20200304.0-x86_64.xfs.gpt.vdi ~/VirtualBox\ VMs/amzn2.xfs.dvi
  1. amzn2 > 設定 > ストレージ コントローラー:IDE の右側の [+] ボタンから、seed.iso を追加する。

  2. amzn2 > 設定 > ネットワーク > アダプター1

  3. amzn2 > 設定 > ネットワーク > アダプター2