# MongoDB CON DOCKER COMPOSE

{% embed url="<https://dev.to/sonyarianto/how-to-spin-mongodb-server-with-docker-and-docker-compose-2lef>" %}

{% embed url="<https://medium.com/faun/managing-mongodb-on-docker-with-docker-compose-26bf8a0bbae3>" %}

>

**Istall mongodb desde Docker**

```bash
docker pull mongo:latest
```

**Instalar con Docker compose**

Crear el archivo docker-compose.yml

![](https://1214129823-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lc1Wg6KboeH6fWlkEGS%2F-M4pCx8h1xbVaVMev8Ma%2F-M4pDNGlnJSrcfc0CUII%2Fms.png?alt=media\&token=7e6945d9-ddad-4afc-9596-cb34b48676cf)

Contenido

```yaml
version: '3.7'
services:
  mongodb_container:
    image: mongo:latest
  
    ports:
      - 27017:27017
    volumes:
      - mongodb_data_container:/data/db

volumes:
  mongodb_data_container:
```

Deseamos hacer persistente la base de datos. Ejecutamos desde el terminal

**Crear el directorio data**

```bash
sudo mkdir -p /data/db
```

**Darle permisos a la carpeta**

```shell
 sudo chmod 777 /data/db
```

**crear directorio logs**

```shell
sudo mkdir -p /var/log/mongodb
```

**Ejecutar docker image**

**Entrar al directorio donde esta el archivo docker-compose.yml  y ejecutar**

```bash
docker-compose up -d
```

**ver contenedor**

```bash
docker ps -a
```

**detenerlo**

```bash
docker-compose stop
```

**removerlo**

```bash
docker-compose down
```

## **Solucionado error de inicio de la imagen**

**Si tenemos un equipo antiguo puede que nos encontremos con el error de que nuestro contenedor no inicia docker**

Lo podemos ver desde NetBeans

![](https://1214129823-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lc1Wg6KboeH6fWlkEGS%2Fuploads%2FvAW8Ru0Fx7qCzWv5sPY0%2FCaptura%20desde%202022-05-16%2021-57-52.png?alt=media\&token=0e2c524c-b4e3-4e12-bfa7-b67a6423dcdf)

```shell
//2022-05-17T02:49:31.186419238Z 
2022-05-17T02:49:31.186502005Z WARNING: MongoDB 5.0+ requires a CPU with AVX support, and your current system does not appear to have that!
2022-05-17T02:49:31.186518838Z   see https://jira.mongodb.org/browse/SERVER-54407
2022-05-17T02:49:31.186526822Z   see also https://www.mongodb.com/community/forums/t/mongodb-5-0-cpu-intel-g4650-compatibility/116610/2
2022-05-17T02:49:31.186534545Z   see also https://github.com/docker-library/mongo/issues/485#issuecomment-891991814
2022-05-17T02:49:31.186541700Z 

```

Nos indica que no podemos instalar MongoDB 5.4 en nuestro equipo por lo que tenemos que recurrir a una imagen anterior

Instalar la imagen de docker 4.0

```yaml
version: '3.7'
services:
  mongodb_container:
    #image: mongo:latest
    image: mongo:4.0
    ports:
      - 27017:27017
    volumes:
      - mongodb_data_container:/data/db

volumes:
  mongodb_data_container:
  
```

## **Ejecutar desde el bash**

**ver la imagen**&#x20;

```shell
docker ps -a
```

**Ejecutar**

```shell
docker exec -it imagencodigo bash

```
