5
respostas

O comando Import.sh não lista os arquivos no meu Linux

Olá pessoal eu estou usando o Linux Ubuntu 20.04 LTS, quando eu acesso container do MySQL usando o bash o comando: docker exec -it banco_mysql bash não listar os arquivos da home com usuário root. Alguém pode me ajudar?

bash: cd/home/: No such file or directory
root@b466cb1a595f:/#

docker-compose.yml

version: '3.7'
services:
  db:
    image: mysql:5.7
    container_name: banco_mysql
    volumes:
      - ./:/home

    ports:
      - '3306:3306'
    environment:
      MYSQL_DATABASE: 'empresa'
    #  MYSQL_USER: 'root'
      MYSQL_PASSWORD: 'q1w2e3r4'
      MYSQL_ROOT_PASSWORD: 'q1w2e3r4'

Observação eu já tentei executar sem deixar a linha :

#MYSQL_USER: 'root' sem comentário, mas o container para de funcionar, por esse motivo deixei ele comentado quando eu criei o arquivo do banco de dados do MySQL.

5 respostas

Olá Jackson, tudo bem? Você realmente usou o comando:

cd /home

Eu consegui executar sem grandes problemas, já sobre a linha MYSQL_USER: 'root', antes não havia problema, porém me parece que houve uma atualização em que o MySQL fica dando erro quando informamos o root porque o usuário root já existe por padrão, isso pode ter acontecido porque não usamos uma versão fixa, note que usamos a versão 5.7, porém ainda tem a versão de correção (PATCH), no caso o versionamento é da seguinte forma: MAJOR.MINOR.PATCH, porém só temos o MAJOR: 5, o MINOR: 7, porém o PATCH pode corrigir bugs e os desenvolvedores podem entender isso como um bug já que o MySQL por padrão já tem o usuário root.

Mas sobre o erro de acesso a pasta home do container, poderia tentar novamente e fala pra gente o resultado!

Olá Jonilson, eu refiz os procedimentos, sem sucesso não listou os arquivos.

michael@ubuntu:~/Área de Trabalho/curso-kubernetes$ cd mysql/
michael@ubuntu:~/Área de Trabalho/curso-kubernetes/mysql$ docker-compose up -d
Starting banco_mysql ... done
jmichael@ubuntu:~/Área de Trabalho/curso-kubernetes/mysql$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
b309dad28893        mysql:5.7           "docker-entrypoint.s…"   16 hours ago        Up 36 seconds       0.0.0.0:3306->3306/tcp, 33060/tcp   banco_mysql
michael@ubuntu:~/Área de Trabalho/curso-kubernetes/mysql$ docker exec -it banco_mysql bash
root@b309dad28893:/# cd /home
root@b309dad28893:/home# ls
root@b309dad28893:/home# 

Então Jackson, no caso deu certo o comando ls, porém não existe nada dentro dessa pasta /home do container banco_mysql, você poderia executar o comando:

docker-compose logs db

E colocar o log aqui pra gente poder verificar o que está acontecendo, para que não tenha o feito o bind de pastas corretamente.

Você poderia também executar o comando:

docker inspect banco_mysql

E coloca o resultado aqui também. Fico aguardando retorno!

Olá Jonilson, eu excecutei os scripts de comandos e os resultados estão abaixo:

michael@ubuntu:~/Área de Trabalho/curso-kubernetes/mysql$ docker-compose up -d
Starting banco_mysql ... done
michael@ubuntu:~/Área de Trabalho/curso-kubernetes/mysql$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
374269aca9b6        mysql:5.7           "docker-entrypoint.s…"   40 hours ago        Up 14 seconds       0.0.0.0:3306->3306/tcp, 33060/tcp   banco_mysql
michael@ubuntu:~/Área de Trabalho/curso-kubernetes/mysql$ docker exec -it banco_mysql bash
root@374269aca9b6:/# cd /home/
root@374269aca9b6:/home# ls
root@374269aca9b6:/home# 
docker-compose logs db

root@374269aca9b6:/home# docker-compose logs db bash: docker-compose: command not found

docker inspect banco_mysql

root@374269aca9b6:/home# docker inspect banco_mysql bash: docker: command not found root@374269aca9b6:/home#

Na verdade Jackson, o comando docker inspect banco_mysql deve ser executado fora do container, já que esse é um comando do docker-compose, se executarmos ele dentro do container ele realmente vai nos retornar o erro command not found. Executa o comando fora do container e fala pra gente o resultado!