1
resposta

Observabilidade: coletando métricas de uma aplicação com Prometheus

Estou usando o arquivo disponibilizado pelo curso (docker-compose.yaml) mas ao dar o comando docker-compose up

Dá os seguintes erros: Starting prometheus-forum-api ... redis-forum-api is up-to-date mysql-forum-api is up-to-date Starting prometheus-forum-api ... error Starting proxy-forum-api ...

ERROR: for prometheus-forum-api Cannot start service prometheus-forum-api: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/home/s020288219/workspaces/treinaAlura/prometheus-grafana/prometheus/prometheus.yml" to rootfs at "/etc/prometheus/prometheus.yml": mount /home/s020288219/workspaces/treinaAlura/prometheus-grafana/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml (via /proc/self/fd/6), flags: 0x5000: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? CheStarting proxy-forum-api ... error

ERROR: for proxy-forum-api Cannot start service proxy-forum-api: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/home/s020288219/workspaces/treinaAlura/prometheus-grafana/nginx/nginx.conf" to rootfs at "/etc/nginx/nginx.conf": mount /home/s020288219/workspaces/treinaAlura/prometheus-grafana/nginx/nginx.conf:/etc/nginx/nginx.conf (via /proc/self/fd/6), flags: 0x5000: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type

ERROR: for prometheus-forum-api Cannot start service prometheus-forum-api: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/home/s020288219/workspaces/treinaAlura/prometheus-grafana/prometheus/prometheus.yml" to rootfs at "/etc/prometheus/prometheus.yml": mount /home/s020288219/workspaces/treinaAlura/prometheus-grafana/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml (via /proc/self/fd/6), flags: 0x5000: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type

ERROR: for proxy-forum-api Cannot start service proxy-forum-api: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/home/s020288219/workspaces/treinaAlura/prometheus-grafana/nginx/nginx.conf" to rootfs at "/etc/nginx/nginx.conf": mount /home/s020288219/workspaces/treinaAlura/prometheus-grafana/nginx/nginx.conf:/etc/nginx/nginx.conf (via /proc/self/fd/6), flags: 0x5000: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type ERROR: Encountered errors while bringing up the project.

1 resposta

Olá, Ibere

Os erros que você está recebendo parecem estar relacionados a problemas de montagem dos volumes no Docker.

Os erros indicam que o Docker está tendo problemas para montar os arquivos de configuração do Prometheus e do Nginx nos respectivos containers. A mensagem de erro sugere que o Docker está tentando montar um diretório em um arquivo (ou vice-versa), o que não é permitido.

Aqui estão algumas coisas que você pode verificar:

  1. Verifique se os arquivos prometheus.yml e nginx.conf existem nos respectivos diretórios e se os caminhos especificados no docker-compose.yaml estão corretos. Os caminhos devem ser absolutos.

Por exemplo, no serviço prometheus-forum-api, você deve ter algo assim:

volumes:
  - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml

Isso significa que o Docker tentará montar o arquivo prometheus.yml do diretório prometheus (que deve estar no mesmo diretório que o docker-compose.yaml) no arquivo /etc/prometheus/prometheus.yml dentro do container.

  1. Verifique as permissões nos arquivos e diretórios. O Docker precisa ter permissão para ler os arquivos e diretórios especificados.

  2. Certifique-se de que os diretórios e arquivos não estão sendo usados por outro processo.

Espero que essas sugestões possam ajudar a resolver o problema. Se o problema persistir, por favor, compartilhe mais detalhes sobre a sua configuração e o conteúdo do seu arquivo docker-compose.yaml.

Espero ter ajudado e bons estudos!