环境:windows 10的docker
版本:Docker版本17.09.0-ce,build afdb6d4
docker图片:mysql / mysql-server最新的
docker设置了共享Drive C:
我想运行一个mysql容器,所以我使用follow命令:
C:\WINDOWS\system32>docker run -d -p 3306:3306 -v "C:/Program Files/MySQL/Config":/etc/mysql/ -v "C:/Program Files/MySQL/Data/":/var/lib/mysql/ --name mysqlserver mysql/mysql-server
c2b45a6668746f0aa708b17f05a720ee6b4cff477eeaef714685293d1b60f44b
C:\WINDOWS\system32>docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c2b45a666874 mysql/mysql-server "/entrypoint.sh my..." 9 seconds ago Exited (1) 7 seconds ago mysqlserver
2de1dbd9880b redis "docker-entrypoint..." 4 days ago Exited (0) 4 days ago myredis
35c805969295 redis "docker-entrypoint..." 9 days ago Exited (0) 9 days ago redisServer
C:\WINDOWS\system32>docker logs mysqlserver
[Entrypoint] MySQL Docker Image 5.7.21-1.1.3
[Entrypoint] No password option specified for new database.
[Entrypoint] A random onetime password will be generated.
chown: changing ownership of '/var/lib/mysql/': Permission denied
C:\WINDOWS\system32>
我累了,我该怎么办?
答案 0 :(得分:0)
在指定卷装入时尝试rw
标记。在您的情况下将是
docker run -d -p 3306:3306 -v "C:/ProgramFiles/MySQL/Config":/etc/mysql/:rw -v "C:/ProgramFiles/MySQL/Data/":/var/lib/mysql/:rw --name mysqlserver mysql/mysql-server
答案 1 :(得分:0)
看起来作为C:/Program Files/MySQL/Data/
容器中的卷挂载的主机上的文件/var/lib/mysql/
没有设置写入权限。
通过执行
挂载{{1}}时,您可以授予写入权限(rw
)
/var/lib/mysql/
而不是
-v "C:/Program Files/MySQL/Data/":/var/lib/mysql/:rw