我正在尝试使用Docker Compose设置两个MySQL容器和一个仅用于数据的容器来保存MySQL数据。
这是docker-compose.yml:
db1:
image: mysql
volumes_from:
- data
environment:
- MYSQL_ROOT_PASSWORD=password
db2:
image: mysql
volumes_from:
- data
environment:
- MYSQL_ROOT_PASSWORD=password
data:
image: mysql
volumes:
- /var/lib/mysql
entrypoint: /bin/echo
但是,两个mysql守护进程都存在冲突,因为它们需要一个单独的数据目录:
[Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.
[ERROR] InnoDB: Unable to lock ./ibdata1 error: 11
因此,我有两个问题:
答案 0 :(得分:3)
据我所知,MySQL守护进程会请求对数据文件进行独占锁定。此锁定将阻止第二个实例旋转,这可能会解释您所看到的错误。
也许尝试做一个主奴隶装备,你有两个不同的卷,但奴隶(db2)绑定到db1?