我有以下docker-compose.yml文件:
version: "3"
services:
dbs-poa-loc001d:
image: percona
volumes:
- ./mysql_backup:/var/lib/mysql
- ./create_databases:/docker-entrypoint-initdb.d
hostname: "dbs-poa-loc001d"
container_name: dbs-poa-loc001d
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
ports:
- "3306:3306"
networks:
- azion-network
...当我尝试创建dbs-poa-loc001d服务(项目的数据库)时,我会得到以下错误:
Starting dbs-poa-loc001d ... done
Attaching to dbs-poa-loc001d
dbs-poa-loc001d | Initializing database
dbs-poa-loc001d | mysqld: Can't create/write to file '/var/lib/mysql/is_writable' (Errcode: 13 - Permission denied)
dbs-poa-loc001d | 2019-01-11T01:17:52.060984Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
dbs-poa-loc001d | 2019-01-11T01:17:52.062286Z 0 [ERROR] --initialize specified but the data directory exists and is not writable. Aborting.
dbs-poa-loc001d | 2019-01-11T01:17:52.062299Z 0 [ERROR] Aborting
dbs-poa-loc001d |
dbs-poa-loc001d exited with code 1这个错误不是发生在我的MacOS计算机上,而是在我的家用计算机(运行Ubuntu16.04)上。我确实注意到,为保存卷数据而创建的主机上的mysql_backup文件夹被设置为组和用户根。有人能告诉我发生了什么事吗?我该怎么解决呢?已试过但未成功:
我现在的安装和安装版本是:
sudo pip install docker-compose安装了docker发布于 2019-01-11 01:56:55
您能否尝试将mysql_backup的权限设置为1001:0?
有点像sudo chown -R 1001:0 ./mysql_backup
或者作为替代,但只有在文件夹为空的情况下,才是 sudo chmod 777 ./mysql_backup
对于percona Dockerfile mysql用户id是1001 https://github.com/percona/percona-docker/blob/master/percona-server.80/Dockerfile
https://stackoverflow.com/questions/54139202
复制相似问题