sudo yum -y install docker git; \
sudo service docker start; \
sudo usermod -a -G docker ec2-user; \
sudo chkconfig docker on; \
sudo curl -L --fail https://raw.githubusercontent.com/linuxserver/docker-docker-compose/master/run.sh -o /usr/local/bin/docker-compose; \
sudo chmod +x /usr/local/bin/docker-compose; \
sudo reboot;
Here is a quick and dirty cmd that I threw together.
It additionally installs git/yum-cron, configures yum-cron to automatically install security updates hourly, and sets a system wide env to specify that I want the alpine tag of docker-compose.
sudo yum -y install git docker yum-cron; \
sudo sed -i '/update_cmd/s/= .*/= security/' /etc/yum/yum-cron-hourly.conf; \
sudo sed -i '/update_messages/s/= .*/= no/' /etc/yum/yum-cron-hourly.conf; \
sudo sed -i '/apply_updates/s/= .*/= yes/' /etc/yum/yum-cron-hourly.conf; \
sudo sed -i '/download_updates/s/= .*/= yes/' /etc/yum/yum-cron-hourly.conf; \
sudo sed -i '/download_updates/s/= .*/= no/' /etc/yum/yum-cron.conf; \
sudo service yum-cron start; \
sudo chkconfig yum-cron on; \
sudo service docker start; \
sudo usermod -a -G docker ec2-user; \
sudo chkconfig docker on; \
sudo sh -c "echo 'export DOCKER_COMPOSE_IMAGE_TAG=ghcr.io/linuxserver/docker-compose:alpine' >> /etc/profile.d/dockerComposeAlpineImageTagEnv.sh"; \
sudo curl -L --fail https://raw.githubusercontent.com/linuxserver/docker-docker-compose/master/run.sh -o /usr/local/bin/docker-compose; \
sudo chmod +x /usr/local/bin/docker-compose; \
sudo yum install jq; \
sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/bin/docker-compose && chmod +x /usr/bin/docker-compose && docker-compose --version; \
sudo reboot;