Bad way to deploy Rails project to EC2

1. Setup Docker

1
sudo apt-get update
1
2
3
4
5
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
1
sudo mkdir -p /etc/apt/keyrings
1
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
1
2
3
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
1
sudo apt-get update
1
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
1
sudo usermod -aG docker $USER
1
sudo docker run hello-world

2. Setup docker compose

1
sudo apt-get update
1
sudo apt-get install docker-compose-plugin
1
docker compose version

3. Pull source code to EC2

4. Build docker images

1
docker compose build

5. Run docker container

1
docker compose up -d

References

[1]https://docs.docker.com/engine/install/ubuntu/#install-docker-engine
[2]https://docs.docker.com/compose/install/compose-plugin/#install-using-the-repository