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。pemmysql_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上開發吧!