Windows
環境構築
VirtualBox
AmazonLinux
docker

Amazon Linuxのローカル環境を作成する

Amazon Linux 2のカーネルを使いDockerを使って開発することは出来ないものかと試してみました。

VirtualBox で Amazon Linux 2の仮想マシンを作成する

Amazon Linux 2 を仮想マシンとしてオンプレミスで実行する

上記リンクの手順に沿ってローカル環境を作ってみます。

  • ローカルなのでパスワードとか適当です。
  • VirtualBoxを選んだのは私が使い慣れているからです。(VirtualBox以外のイメージもリンク先にあります)

VM イメージのリンクから先からvirtualbox/amzn2-virtualbox-2017.12.0.20180222-x86_64.xfs.gpt.vdiをダウンロードします。

2. cloud-init 設定 ISO を作成します。とありますが、「自分Windowsだし!!」「 Linux環境よくわからんし!!」

という方のために、Linux環境がありましたので、最低限の設定を入れたものを作っておきましたので面倒な方やローカル環境でしか使わないよ、という方はこちらを使ってみてはいかがでしょうか。

seed.isoは以下の設定で作りました。

meta-data
local-hostname: amazonlinux.onprem
user-data
#cloud-config
# vim:syntax=yaml
users:
# A user by the name ec2-user is created in the image by default.
  - default

chpasswd:
  list: |
    ec2-user:local
# In the above line, do not add any spaces after 'ec2-user:'.

VirtualBoxの設定

新規作成でダウンロードしてきたイメージを設定する

1.png

作成した仮想マシンにseed.isoを設定する

2.png

SSH接続用にVirtualBox Host-Only Networkを作成する

私の場合は以下のようにつくりました。(ipconfig /allで重複が出ないIPにすること。重複すると固定IPに出来なかった。)

3.png

作成したVirtualBox Host-Only Networkをネットワークのアダプター2に設定する

5.png

仮想マシン内の設定

仮想マシンを起動してログインする

user: ec2-user
pass: local

rootになる

$ sudo su

日本語キーボードにする

# localectl set-keymap jp106

パスワードでのSSH接続を許可する

# vi /etc/ssh/sshd_config
/etc/ssh/sshd_config
- PasswordAuthentication no
+ PasswordAuthentication yes

eth1の設定を作成する

今回作成したVirtualBox Host-Only Networkの設定を参考に設定ファイルを作成する。

# vi /etc/sysconfig/network-scripts/ifcfg-eth1
/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.56.100
NETMASK=255.255.255.0
NETWORK=192.168.56.1

再起動を行う

# reboot

PuTTYでSSH接続を行う

IPアドレス
192.168.56.100

ポート
22

ユーザー
ec2-user

パスワード
local

6.png

rootになる

$ sudo su

ロケール設定

# localedef -f UTF-8 -i ja_JP ja_JP.utf8
# sed -i -e 's/.*/LANG=ja_JP.utf8/' /etc/locale.conf
# mv /etc/localtime /etc/localtime.origin
# cp -f /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

Dockerをインストールする

# yum install -y docker
# systemctl enable docker
# systemctl start docker

終わり

# uname -r
4.9.81-44.57.amzn2.x86_64

以降は
共有フォルダを作成して、
ホストからゲストにマウントして、
それをdockerにマウントしたりして、
開発環境の出来上がりです。