- Instalación del docker.
- Instalación del nodeJS (No es necesario)
- Instalación de CouchDB (por fuera del contenedor, a modo de prueba).
- NOTA: Aunque no es necesario, permite acceder al gestor gráfico Fauxton sin necesidad de tener activado el
couchDB dentro del contenedor del docker, esto es útil para probar, pero se puede omitir igualmente.
- Clonar el repositorio.
- Ejecutar
docker-compose up
en la raíz, es decir, donde se encuentra el archivodocker-compose.yml
- En caso de no existir errores, tras la instalación detener la ejecución mediante
docker-compose stop
-
Sí la instalación del contenedor de couchDB fue exitosa, se debe ingresar a
http://127.0.0.1:5984/_utils/
y observar una pantalla Donde se deben crear las bases de datos_replicators
,_users
,test
-
Por último en este apartado, se puede verificar el correcto funcionamiento de la base de datos en cuanto
a conectividad. -
En cuanto a couchDB eso es todo, la inserción de registros y "select" se realizará desde nodeJS, aunque también
se puede realizar mediante Fauxton.
- Comprobar sí las direcciones IPs de los archivos configuracionBack.js y configuracionFront.js coinciden con los de los contenedores, esto se realiza una vez que los contenedores estan activados, mediante el comando
docker inspect containid
- Con respecto a nodeJS ya esta, opcionalmente de surgir algún error se podría "levantar" solo el proyecto de node mediante un
node server.js
ejecutado en ./api para corroborar sí el problema es del docker.
- Aplica lo mismo que el punto anterior en node pero para el archivo que se encuentra dentro de la carpeta nginx.
Sí el proyecto funciona sin problema se debería ver de la siguiente manera
- Sí tras la instalación se puede acceder a localhost:3000 pero al intentar acceder a localhost se muestra el error Forbidden, ingresar al contenedor de Nginx
docker exec -it containerid bash
y ejecutarchmod -R 777 ./src
- Se encuentra comentado el archivo docker-compose.yml.
docker ps -a
indica el estado de los contenedores, de la imagen que provienen, y los puertos que utilizandocker image ls
permite saber la cantidad de imagenes almacenadas en el sistema y el peso que ocupan.docker exec -it containid bash
permite el ingreso al contenedor mediante BASH
(los contenedores no poseen programas instalados ni siquiera nano o vim :c)- Dentro de un contenedor, la utilización de curl, EJ:
curl http://127.0.0.1:5984
, para comprobar la conectividad del contenedor respecto a otros contenedores y/o externa docker rmi imageid
ydocker rm containerid
para la eliminación de imagenes y/o contenedores no utilizados.
- apache/couchdb-docker#54
- https://medium.freecodecamp.org/expose-vs-publish-docker-port-commands-explained-simply-434593dbc9a3
- https://stackoverflow.com/questions/31746182/docker-compose-wait-for-container-x-before-starting-y
- https://medium.com/@alexishevia/using-cors-in-express-cac7e29b005b
- jeboehm/docker-mailserver#46
- https://github.com/MOXGA-OSS/nginx-node-docker