dockerもAWSも「触ったことがある」程度の僕が、自分でEC2インスタンスを立て、そこでdocker-composeする必要が出たので、その際にやったことのメモです。
概要
- AWSにdocker-composeを入れる
- git cloneするためにGitHubにSSH keyを設定する
前提
- EC2を立てられる人向けです
- docker-composeで動くモノをGitHubにおいている人向けです
参考
AWSの基本設定
セキュリティグループ
EC2のセキュリティグループでSSHを許可しましょう。
IPアドレスはわかるなら自分のものにしましょう。僕は実験用なら0.0.0.0にしてしまっています。
ウェブサーバーならHTTP・HTTPSも許可しておきましょう。
AWSにdockerを入れる
dockerのインストール
sudo amazon-linux-extras install -y docker
dockerの起動
sudo systemctl start docker
再起動時に自動で起動する設定
sudo systemctl enable docker
ec2-userにdockerの操作を許可
sudo usermod -a -G docker ec2-user
一旦exit
して再度ssh接続すれば、ec2-userのまま、sudoなしでもdockerの操作が可能になる。
AWSにdocker-composeを入れる
sudo mkdir -p /usr/local/lib/docker/cli-plugins
sudo curl -L https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/lib/docker/cli-plugins/docker-compose
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
sudo ln -s /usr/local/lib/docker/cli-plugins/docker-compose /usr/bin/docker-compose
2行目のコマンドの2.4.1
の部分を変えることで入れるdocker-composeのバージョンを変えることができます。
gitの準備
yumのアップデート
sudo yum update -y
AWSにgitを入れる
sudo yum install -y git
git用のSSH keyを設定する
cd .ssh
ssh-keygen
GitHubにSSH keyを登録する
ここに.pub
で終わるファイルの中身をコピペする。
これでgit clone
がSSHを使って行うことができるようになります。
お疲れさまでした。
結論
とても簡単にできました。
docker、慣れてくると便利ですね……。
なお、ファイル権限の問題でdocker-compose up
してもmysqlコンテナが動かない……などといった問題が発生しました。
こう言うことの対策でRootless modeなるものがあると友人に教えてもらったので、この辺も慣れていきたいなぁ……。
宣伝
2022年11月18日(金)〜20日(日)に駒場祭と言う学園祭があります。
僕は委員は引退したものの、ut.code();というソフトウェア(特にウェブアプリケーション)開発に主眼を置いたプログラミングサークルの担当者として参加します。
「あなたのためのプログラミング」と題しまして、プログラマーの方も、初心者の方も、未経験者の方も、また子供も、大人も、皆さんが楽しめる企画を準備しているところです。
まだ対面開催になるか、オンライン開催になるかなど不確定な点が多いですが、今後新情報が入りましたらut.code();のTwitterアカウントにて発信しますので、もし興味を持っていただけましたらぜひフォローしてお待ちください。
皆様のご来場(オンライン含め)を心からお待ちしております。