Skip to content

brandonruizmora/docker-react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker

Requerido

Docker desktop Download link

o

Docker ubuntu

Uninstall older versions sudo apt-get remove docker docker-engine docker.io containerd runc

Install last version sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin


También podemos usar docker con librerías como react tanto para generar una imagen, como trabajar en modo de desarrollo.

A continuación veremos los pasos para realizar esto.


Primer ejemplo: Crear una imagen y contenedor de React

Pasos

  1. Crear la aplicación
  2. Crear Dockerfile
  3. Crear imagen
  4. Crear contenedor

Crear la aplicación

Para crear la aplicación usaremos el comando npx create-react-app.

npx create-react-app

Después de la instalación podemos ejecutar la aplicación para verificar que se encuentra funcionando.

ejecutar

localhost

Crear Dockerfile

Después de verificar que la aplicación levanta. Podemos crear el dockerfile para crear la imagen de nuestra app.

localhost

Aquí definimos la imagen base que necesita en este caso es node versión 18. Creamos la carpeta donde se guardara la aplicación, definimos el directorio de trabajo donde se ejecutaran los comandos COPY, RUN, CMD. Copiamos los archivos necesarios. Hacemos la instalacion de las dependencias necesarias. Exponemos el puerto que estara utilizando la imagen. y finalmente el comando para ejecutar la aplicación.

Crear imagen

Para crear la imagen utilizaremos el comando docker build.

Aquí utilizamos -t para darle un nombre y tag a nuestra imagen y utilizamos . ya que nuestro Dockerfile se encuentra en la ruta raiz de nuestro proyecto.

crear imagen

Crear y ejecutar contenedor

Para crear el contenedor a partir de nuestra imagen utilizaremos el comando docker create.

Aquí utilizamos --name para darle un nombre a nuestro contenedor, definimos el puerto, y la imagen que utilizaremos para crear el contenedor.

crear contenedor

Para ejecutar el contenedor utilizamos el comando docker start.

ejecutar contenedor

localhost

Si queremos crear y ver los logs o la información del contenedor podemos utilizar docker run -it miapp sh.

Aqui vemos que nos posiciona dentro del proyecto porque lo definimos asi en el Dockerfile con el WORKDIR.

docker run

Segundo ejemplo: Crear un ambiente de trabajo de desarrollo

Pasos

  1. Crear la aplicación
  2. Crear Dockerfile.dev
  3. Crear docker-compose-dev.yml
  4. Crear imagen y contenedor y ejecutar contenedor

Crear la aplicación

Para crear la aplicación usaremos el comando npx create-react-app.

npx create-react-app

Después de la instalación podemos ejecutar la aplicación para verificar que se encuentra funcionando.

ejecutar

localhost

Agregar key a package.json para que nodemon pueda funcionar correctamente.

key

Crear Dockerfile.dev

Después de verificar que la aplicación levanta. Podemos crear el dockerfile para crear la imagen de nuestra app.

localhost

Aquí definimos la imagen base que necesita en este caso es node versión 18. Creamos la carpeta donde se guardara la aplicación, definimos el directorio de trabajo donde se ejecutaran los comandos RUN, CMD. Aqui no copeamos los archivos ya que utilizaremos volumes para hacer una copia de nuestra aplicación local. Exponemos el puerto que estara utilizando la imagen. y finalmente el comando para ejecutar la aplicación.

Crear docker-compose-dev.yml

docker-compose-dev

Aqui definimos la version, el servicio, el contexto donde se encuentra el dockerfile, el archivo docker que se usara para crear la imagen, el nombre del contenedor, el puerto definimos true a stdin_open (poder trabajar en el proyecto fuera del contenedor), y el volumen que sera el encargado de hacer la copia de mi aplicación local a la parte donde se encuentra guardado la aplicación.

Crear imagen, contenedor y ejecutar contenedor

El siguiente comando que utilizaremos sera docker-compose -f docker-compose-dev.yml up

docker-compose up

Una vez realizado esto podemos hacer cambios en nuestro directorio local y esto lo actualiza en nuestro contenedor debido a que nodemon detecta los cambios en nuestros archivos (js, mjs, json).

localhost old

file

file

localhost new

Terminar el proceso

Con los comandos docker-compose down podemos terminar el proceso y eliminar el contenedor con docker rm y la imagen con docker image rm.

end process

About

Dockerizar una aplicación de React

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published