玖叶教程网

前端编程开发入门

window下的子系统ubuntu 运行docker遇到的坑

1.启动mysql容器后,使用docker ps 查看时是没有启动起来 ,使用docker logs 容器id 时,查看报错信息如下:

mysql_ssl_rsa_setup: Can't change permissions of the file 'ca-key.pem' (Errcode: 1 - Operation not permitted)
2021-06-27 11:56:04 [ERROR]   Error setting file permissions forca-key.pem and ca.pem
mysql_ssl_rsa_setup: Can't change permissions of the file 'server-key.pem' (Errcode: 1 - Operation not permitted)
2021-06-27 11:56:04 [ERROR]   Error setting file permissions forserver-key.pem and server-cert.pem

解决办法

#解决办法 启动时需要加上 --privileged 以root运行
 docker run -d -p 3306:3306 --name mysql5.7.27 -e MYSQL_ROOT_PASSWORD="123456" \
 -v /mnt/d/wsl_www/mysql5.7.27/conf:/etc/mysql \
 -v /mnt/d/wsl_www/mysql5.7.27/data:/var/lib/mysql \
 -v /mnt/d/wsl_www/mysql5.7.27/log:/var/log/mysql --privilege mysql:5.7.27

2 .进入到mysql 容器里,登录mysql时,用户和密码正确时,确登录不上,显示如下错误信息,这个原因有可能是由于权限导致登录不上,请看第3点

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
#解决办法,
需要在/etc/mysql/my.cnf里添加如下信息,但是我在修改完后,运行不生效,
  mysql在运行时会显示第3点的错误
[mysqld]
skip-grant-tables
#进入mysql,修改权限

3 .把mysql配置映射到主机目录后,修改配置后,被忽略,如下图

 #错误信息
 mysql: [Warning] World-writable config file '/etc/mysql/my.cnf' is ignore
#由于我是window的子系统里运行docker的,所以说权限有问题,
需要对主机上的my.cnf文件设置只读权限才可以
#文件右键->属性->安全->选中amdin组->修改权限为只读

PS:在window上的子系统ubuntu运行docker环境,坑是真不少,分享出来,希望小伙伴避坑吧,有条件的还是在服务器上,或者纯linux上开发吧!

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言