容器中找不到docker卷?

f5emj3cl  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(470)

这个 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

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

d6kp6zgx

d6kp6zgx1#

这个 volumes: 附在特定容器上。你的 docker exec docker-test 命令附加到 app: 容器,但实际上要附加到 db: 你命名的容器 docker-test-db . 如果你再加上 -db 最后,它会起作用:

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

相关问题