Es esta práctica vamos a desplegar una página web con las herramientas de AWS y Docker
Crear el Entorno
Para facilitar la implementación de este proyecto usaremos el IDE Cloud9, entramos en nuestra consola AWS y buscamos Cloud9.
- Crearemos el Entorno
- En mi caso le daré las siguientes configuraciones
- En este caso escogeré t3.small, pero dependerá de tus requisitos escoger la instancia que mejor te convenga, recuerda que t3.small, puede tener cargos extra.
- En Configuración de red, marcamos Secure Shell (SSH)
- Y creamos nuestro entorno.
- Ahora abrimos Cloud9 IDE.
Instalación Docker
Desde la terminal de Cloud9, vamos a instalar docker
sudo yum install docker sudo usermod -a -G docker ec2-user id ec2-user newgrp docker wget https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) sudo mv docker-compose-$(uname -s)-$(uname -m) /usr/local/bin/docker-compose sudo chmod -v +x /usr/local/bin/docker-compose
Arrancamos el servicio de Docker:
sudo systemctl enable docker.service sudo systemctl start docker.service sudo systemctl status docker.service
Al finalizar se debería mostrar el estado actual de Docker:
- Ahora empezaremos con nuestro proyecto Docker, en mi caso clonare un repositorio de una web estática simple.
git clone https://github.com/leonxrdon/simple_card.git web_static cd web_static vim Dockerfile
- Dentro del archivo Dockerfile, crearemos las siguientes configuraciones:
FROM rockylinux/rockylinux:latest MAINTAINER nixCraft LABEL Remarks="RockyLinux test static webpage" #Install apache2 whit less RUN yum -y update && \ yum -y install httpd && \ yum clean all # Copy files COPY . /var/www/html/ # Port and set entry point for container EXPOSE 80 ENTRYPOINT /usr/sbin/httpd -DFOREGROUND
- Construimos y verificamos la imagen:
sudo docker build -t web_static . sudo docker images
- Arrancamos la imagen que creamos mapeando los puertos:
sudo docker run -d -p 8080:80 --name web_static web_static sudo docker ps
Ahora vemos como es nuestra imagen esta activa.
Si vamos al preview, ya podremos ver nuestra web desplegada.
Espero este tutorial te sirva de ayuda para aprender y practicar el entorno de AWS y los conceptos básicos de Docker.