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 # 再起動
# どっちにもなければ、削除されてるので最初から