AWS EC2 に「Laravel + Laradock」をデプロイするシリーズの第5回目です。
イントロは以下になります。
AWS EC2にLaravel + Laradockをデプロイ(イントロ)
前回は SSH で AWS EC2 にアクセスしました。
今回はこの SSH を使って、EC2 に Git と Docker/Docker Compose をインストールしてみます。
手順
1.apt-get(パッケージ管理)の更新
1.EC2内への変更はスーパーユーザーで行わないといけません。毎回 sudo
コマンドを打つのが面倒な人は sudo su
コマンドでスーパーユーザーに切り替えておくと便利です。
$ sudo su
root@ip:/home/ubuntu#
2.パッケージ管理システム(apt-get)の更新します。
Debian系のディストリビューション(Debian や Ubuntu)のパッケージ管理システムはAPT(apt-getコマンド)。
RedHat系のディストリビューション(CentOS や Fedora) のパッケージ管理システムはyum(yumコマンド)になります。
root@ip:/home/ubuntu# apt-get update
2.Git のインストール
# Gitのインストール
root@ip:/home/ubuntu# apt-get install git
# Git初期設定
root@ip:/home/ubuntu# git config --global user.name 任意のユーザー名
root@ip:/home/ubuntu# git config --global user.email 任意のemailアドレス
Gitの基本的なコマンドについては別エントリーにてまとめていますので、よかったらご参考ください。
3.Docker のインストール
Docker公式ページを見て、ubuntu用の手順を参照します。
#dockerのインストール
root@ip:/home/ubuntu# apt-get install \apt-transport-https \ca-certificates \curl \gnupg-agent \software-properties-common
root@ip:/home/ubuntu# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
root@ip:/home/ubuntu# apt-key fingerprint 0EBFCD88
root@ip:/home/ubuntu# add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
root@ip:/home/ubuntu# apt-get install docker-ce docker-ce-cli containerd.io
4.Docker Compose のインストール
次に Docker Compose
をインストールするのですが、パッケージ管理コマンドで Docker Compose をインストールすると(apt-get install docker-compse
)Docker Compose のバージョンが古いため、バージョン3の記述が使えません。
なので、apt-get/aptコマンド
でインストールするのではなくバイナリでインストールします。
Docker Composeのバイナリでのインストールは公式サイトにも記載されています。
Docker公式サイト(Docker Composeインストール)
# Docker Composeを/usr/local/bin/へダウンロード
root@ip:/home/ubuntu# curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
# コマンドとして使えるようになったことの確認
# 絶対パスでdocker-composeを指定
# 面倒だと感じる方はPATHに追加するといいです
root@ip:/home/ubuntu# /usr/local/bin/docker-compose --version
EC2インスタンスにソフト(Git/Docker/Docker Compose)をインストールする作業は以上になります。
図解即戦力 Amazon Web Servicesのしくみと技術がこれ1冊でしっかりわかる教科書
自分はネットワークの基礎知識が多少あったので、AWSでのデプロイを舐めてかかったら手酷くやられてしまいました(苦笑)AWSの専門用語が多すぎて、ハンズオン資料の流れが理解できなかったからです。本書では概念図と丁寧な用語解説がされているので、用語の整理にはなります。(※業務的な内容はありません。)ハンズオン資料はネットにあるので、まずはAWSの用語を本書で抑えてからEC2インスタンスの作成を始めると上手くいくと思います。
仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。