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.
- Crear la aplicación
- Crear Dockerfile
- Crear imagen
- Crear contenedor
Para crear la aplicación usaremos el comando npx create-react-app
.
Después de la instalación podemos ejecutar la aplicación para verificar que se encuentra funcionando.
Después de verificar que la aplicación levanta. Podemos crear el dockerfile para crear la imagen de nuestra app.
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.
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.
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.
Para ejecutar el contenedor utilizamos el comando docker start
.
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.
- Crear la aplicación
- Crear Dockerfile.dev
- Crear docker-compose-dev.yml
- Crear imagen y contenedor y ejecutar contenedor
Para crear la aplicación usaremos el comando npx create-react-app
.
Después de la instalación podemos ejecutar la aplicación para verificar que se encuentra funcionando.
Agregar key a package.json para que nodemon pueda funcionar correctamente.
Después de verificar que la aplicación levanta. Podemos crear el dockerfile para crear la imagen de nuestra app.
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.
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.
El siguiente comando que utilizaremos sera docker-compose -f docker-compose-dev.yml 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).
Con los comandos docker-compose down
podemos terminar el proceso y eliminar el contenedor con docker rm
y la imagen con docker image rm
.