Problema com o DOCKER, aula 3

Olá gente, alguém por favor pode me ajudar? Eu instalei o docker conforme a aula 3 da semana 5, consigo ver a versão dele no terminal (docker -v) porem, quando tento instalar a parte do banco de dados rola um erro estranho. Ao digitar:

docker run --name database -e POSTGRES_PASSWORD=docker -p 5432:5432 -d postgres

Eu recebo o seguinte erro:

$ docker run --name database -e POSTGRES_PASSWORD=docker -p 5432:5432 -d postgres
docker: error during connect: This error may indicate that the docker daemon is not running.: Post "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/create?name=database": open //./pipe/docker_engine: O sistema não pode encontrar o arquivo especificado.
See 'docker run --help'.

Já fiz a instlação do WSL como orientado em outro post, mas não funcionou.
Alguém sabe me dizer o que devo fazer?
Obrigado!

3 Likes

Oi @jorge8, estou rodando em Linux. No processo de instalação (link abaixo) para Linux o teste recomendado foi executar o comando sudo docker run hello-world. Não sei se no caso do Windows funcionaria docker run hello-world.

De qualquer forma, sugiro dar uma olhada na documentação. Uma possibilidade seria desinstalar e reinstalar seguindo suas instruções.

1 Like

No final da aula 3 ele tentou executar a imagem do Docker pela linha de comando e não conseguiu, e terminou a aula como se estivesse tudo certo

Na aula 4 ele mostra como usar o ElephantSQL pra quem não conseguiu utilizar o Docker, no caso ele próprio.

1 Like

Oi @JeffersonVF, para mim funcionaram os seguintentes comandos em Linux:

Install Docker Desktop (sequencia de comandos no link abaixo)
https://docs.docker.com/engine/install/ubuntu/
sudo docker run --name database -e POSTGRES_PASSWORD=docker -p 5432:5432 -d postgres
sudo docker image ls
sudo docker start postgres

Boa tarde, Jorge!
Cara, eu tive o mesmo problema, quando você abre o programa docker também aparece que você tem que habilitar a virtualização na bios? pra mim, foi oque resolveu, habilitei a virtualização, instalei o aws e depois pede pra atualizar o kernel, ai foi, se resolver me fala!
Nao sei qual sua placa mae, mas, pesquisa "como ativar virtualização na bios da “insira sua placa mae” é bem facil.

Oi @Phelipe_Lima, minha virtualizaçao já estava habilitada. Há uns meses precisei. A opção não estava disponível mas apareceu depois de atualizar a bios.

Boa tarde. Parei no docker. Conseguir chegar até image ls mas quando tento dar docker start postgres ele diz que o container postgres não existe, mas ele foi criado sim e abre no docker desktop. Alguma ideia?

Oi @cardoy, verdade. Ele executa o comando POSTGRES_PASSWORD=docker -p 5432:5432 -d postgres e depois confirma a criação com o sudo docker image ls.
Entretanto ao tentar executar sudo docker start postgres não funciona, mesmo trocando pelo id da imagem. Na sequencia consegue acessar via Postbird e cria um novo database chamado sistema para poder usar no projeto. É neste novo banco que cria a tabela user via migration.

Acho que o comando sudo não é reconhecido no ambiente windows. Também tentei pelo postbird mas, nesse caso, consigo criar a conexão e o bd sistema. Quando, no terminal, tento o comando npx sequelize … vem uma resposta dizendo que não acha o config.json.

1 Like

Para quem optar pelo ElephantSQL ao invés do docker:

1 Like

Sim, correto. sudo é para Linux. Devemos usar só o que vem depois de sudo no Windows.

Achei o pulo do gato no Docker: a sequência é a seguinte

  1. Iniciamos o docker no desktop e damos “run” no container postgres
  2. No terminal:
    docker ps
    docker image ls (copiamos o número da imagem)
    docker run + número da imagem

Boa… Fiz o metodo marretada aqui para depois procurar como dar o run pois tinha tentado e não tinha conseguido:

Quando usei o comando abaixo para listar todos os containers, inclusive os em stop, tinham vários postgres criados.
sudo docker ps -a
Exclui usando o comando:
sudo docker rm IDdoContainer
Se receber a mensagem “You cannot remove a running container…” use antes:
sudo docker kill IDdoContainer
Diferença ao rodarmos sudo docker ps -a

Container running

Vai conectar com o Postbird CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a3d062f08d01 postgres "docker-entrypoint.s…" 6 minutes ago Up 6 minutes 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp database
Container stopped
Não conecta com o Postbird CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a3d062f08d01 postgres "docker-entrypoint.s…" 7 minutes ago Exited (137) 2 seconds ago database