0
0

More than 1 year has passed since last update.

AWSでdocker-composeを動かすまで

Last updated at Posted at 2022-09-10

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アカウントにて発信しますので、もし興味を持っていただけましたらぜひフォローしてお待ちください。

皆様のご来場(オンライン含め)を心からお待ちしております。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0