2016-08-17 96 views
1

嗨有一個公共的高山MySQL碼頭工人的圖像。 https://hub.docker.com/r/wangxian/alpine-mysql/Docker alpine image:ERROR 2002(HY000):無法通過套接字'/run/mysqld/mysqld.sock'連接到本地MySQL服務器(2「沒有這樣的文件或目錄」)

我想在其中運行mysql。

docker run -i -t wangxian/alpine-mysql sh 
/app # mysql 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2 "No such file or directory") 

那好吧我安裝一切從頭開始:

當我後docker run命令執行mysql命令我得到這個錯誤。 我做了高山的新形象,然後我安裝了這些東西:

apt add mysql mysql-client 

然後我再次輸入,mysql,得到了同樣的錯誤。 這看起來像一個常見的錯誤,它發生在所有的高山圖像,因爲這是一個新的安裝阿爾卑斯山。

任何解決方案?

編輯: 當我做搬運工運行-i -t望仙/高山-mysql的

2016-08-17 12:51:41 140215609339688 [Note] Plugin 'FEEDBACK' is disabled. 
2016-08-17 12:51:41 140215609339688 [Note] Server socket created on IP: '::'. 
2016-08-17 12:51:41 140215609339688 [Note] /usr/bin/mysqld: ready for connections. 
Version: '10.1.11-MariaDB-log' socket: '/run/mysqld/mysqld.sock' port: 3306 MariaDB Server 

然後我打開命令行新標籤,同時保持該標籤頁中打開,我又得到了同樣的錯誤:

docker run -i -t wangxian/alpine-mysql sh 
/app # mysql 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2 "No such file or directory") 

回答

1

那不是真的如何使用您的圖像工作。在Docker Hub頁面上,您可以看到它應該如何運行。它有一個啓動腳本,當你在運行時傳遞「sh」命令時不會被調用,所以mysql沒有運行。 當你在沒有任何命令的情況下運行鏡像時,它會啓動mysql併爲用戶名/密碼設置一些初始值。然後,您可以使用docker exec輸入正在運行的容器,或者可以將其他容器鏈接到它

+0

我已經嘗試過,它不起作用。看我的編輯。 – user1735921

+1

是的,當您打開另一個終端會話並執行碼頭運行時,您將啓動一個全新的容器。試試'docker run -d wangxian/alpine-mysql',這會在後臺啓動容器。然後你用「docker ps」得到正在運行的容器的id。然後你可以用'docker exec -ti ID sh'來輸入正在運行的容器。在這種情況下,你必須導出期限爲「export TERM = dumb」,然後你可以運行「mysql」 – kgorskowski

+0

哦,它的工作!謝謝 – user1735921

相關問題