docker-compose.yml文件可以正常工作:

version: '3'
services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    image: docker-test
    container_name: docker-test
    ports:
      - 9000:80
    volumes:
      - '/var/www/docker-test/:/srv/app/'
  db:
    image: mariadb:10.4
    container_name: docker-test-db
    ports:
      - 33061:3306
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example
    volumes:
      - '/docker-db-data/docker-test/:/var/lib/mysql/'


主机中的卷创建良好(/docker-db-data/docker-test/),但是当我“ SSH”到容器时,我似乎找不到/var/lib/mysql

[root@localhost docker]# docker exec -it docker-test bash
root@2d03e775f531:# ls /var/lib/mysql
ls: cannot access '/var/lib/mysql': No such file or directory


这是预期的吗?如果没有,它实际上在哪里?

最佳答案

volumes:附加到特定的容器。您的docker exec docker-test命令附加到app:容器,但实际上您想附加到已命名为db:docker-test-db容器。如果最后添加-db,它将起作用:

docker exec docker-test-db ls /var/lib/mysql

关于mysql - 在容器中找不到Docker MariaDB卷?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54062190/

10-16 13:48
查看更多