【发布时间】:2019-01-06 13:54:59
【问题描述】:
这个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
这是预期的吗?如果不是,它实际位于哪里?
【问题讨论】:
-
您不会将该卷挂载到
app容器中,因此如果您将docker exec装入它,您不应该期望看到它。 -
@DavidMaze 我明白了,我的印象是来自主机的
/docker-db-data/docker-test/将与来自容器的/var/lib/mysql/实时同步。 -
在你挂载到的特定容器中。如果你
docker exec docker-test-db ls /var/lib/mysql你应该看到它。 -
@DavidMaze 你是对的!我错过了
-db前缀。您可以将其作为答案,我会接受。
标签: mysql docker containers mariadb virtualization