【问题标题】:Cannot create container for service mysql: not a directory无法为服务 mysql 创建容器:不是目录
【发布时间】:2021-04-24 05:35:46
【问题描述】:

我是 docker 新手,在构建我的第一个容器时遇到了一个奇怪的错误。如果这很重要,我正在使用 WSL2。

这是导致它的部分:

  # MySQL Service
  mysql:
    image: mysql:8
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: usr_data
    volumes:
      - ./.docker/mysql/my.cnf:/etc/mysql/conf.d/my.cnf
      # - ./.docker/mysql/ohmy.cnf:/etc/mysql/conf.d/my.cnf
      - ./.docker/test/test.txt:/tmp/test/test.txt
      - mysqldata:/var/lib/mysql
    healthcheck:
      test: mysqladmin ping -h 127.0.0.1 -u root --password=MYSQL_ROOT_PASSWORD
      interval: 5s
      retries: 10

my.cnfohmy.cnf 两个文件都存在且内容相同。

当我使用docker-compose up -d 时出现错误:

ERROR: for mysql  Cannot create container for service mysql: not a directory

当我取消注释 ohmy.cnf 行并注释 my.cnf 行时,我没有收到任何错误,并且构建得很好。它也适用于我制作的小 test.txt

我看不出两者之间的区别,虽然它可能适用于我的小解决方法,但我想首先了解导致错误的原因。

感谢您的宝贵时间。

编辑: 这是我的 ./.docker

./.docker
├── mysql
│   ├── db
│   │   └── db.sql
│   ├── my.cnf
│   └── ohmy.cnf
├── nginx
│   └── conf.d
│       └── php.conf
├── php
│   └── Dockerfile
└── test
    └── test.txt

6 directories, 6 files

【问题讨论】:

  • 您可以尝试将文件夹名称从.docker 更改为docker 吗?
  • docker重命名为.docker为我解决了错误Cannot create container for service : not a directory,但我不明白为什么:-(
  • wsl2 遇到这个问题,切换到windows-terminal PowerShell 然后一切正常。我猜这是docker引起的问题。
  • 作为@circulosmeos,我的文件也在一个名为docker的文件夹中,所以给它一个不同的名字解决了我同样的问题。

标签: docker docker-compose docker-volume


【解决方案1】:

在 WSL 2 中,我更新了 docker compose 以使用 $PWD 而不是卷的相对路径:

volumes:
  - $PWD/logs:/var/log/docker:delegated

【讨论】:

  • 这也是我的问题。更新到 wsl --version WSL 版本:0.50.2.0 内核版本:5.10.74.3 WSLg 版本:1.0.29 Windows 版本:10.0.22000.318
【解决方案2】:

/var/lib/docker/volumes/[your-volumes] 中删除卷。运行以下命令

  1. docker volume prune 删除所有未使用的本地卷。未使用的本地卷是指未被任何容器引用的本地卷。
  2. docker system prune 删除所有未使用的容器、网络、图像(包括悬空的和未引用的)以及可选的卷。

【讨论】:

  • 感谢您的回答。 docker volume prune 什么也没做。 docker system prune 删除了很多东西,但我仍然得到完全相同的错误。
猜你喜欢
  • 2018-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多