serverspec の支援で手動でコンテナ構築 - maemichi-monosense/serverspec-handson GitHub Wiki

Spec (仕様) 通りに構築することを体験 構成ツールの知識を問わないために手動構築

副作用でコンテナに詳しくなるはず

手順

準備

cd docker-container

bundle # install
# コンテナ新規作成・起動
docker run --name amazon -it amazonlinux:2018.03 # default の bash で起動する

# デタッチしてコンテナから出る
# Ctrl+P Ctrl+Q
# exit しないように注意

# コンテナが稼働してることを確認
docker ps

# テスト実行
rake spec

コンテナは構築前の状態なので spec は失敗する。 もう一度コンテナに入って、手動で構築していく。

docker attach amazon

# コンテナ内に入ったので、ここから構築

# AWS CLI をインストール
yum -y update
yum -y install aws-cli

# デタッチしてコンテナから出る
# Ctrl+P Ctrl+Q
# exit しないように注意

# コンテナが稼働してることを確認
docker ps

# もう一度テスト実行
rake spec

テストが全てパスすれば、 AWS CLI が稼働するコンテナが構築できました。 これで、はじめての serverspec と手動コンテナ構築ができました。

次のステップ

次に、コンテナ上に LAMP サーバーを構築して行きましょう。

yum -y install というコマンドでパッケージを自動インストールできます

ヒント: LAMPは次の要素で構成されています:

  • Linux: Amazon Linux
  • Apache: httpd package
  • MySQL: mysql package
  • PHP: php package

パッケージは yum search $name で検索できます

トラブルシューティング

テストが全部失敗する…

コンテナが落ちてる?

# 稼働中のコンテナに amazon がない
docker ps

# 停止中の状態のはず
docker ps -a
docker start amazon # 再起動

# どっちにもなければ、削除されてるので最初から