无法从 Docker 实例连接到 MYSQL

PAA*_*PAA 5 mysql docker docker-compose

我是新手,并使用以下命令从docker hubDocker中提取了mysql

docker pull mysql
Run Code Online (Sandbox Code Playgroud)

现在,mysql使用以下命令启动实例。

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -d mysql/mysql-server:latest
Unable to find image 'mysql/mysql-server:latest' locally
latest: Pulling from mysql/mysql-server

e64f6e679e1a: Pull complete
799d60100a25: Pull complete
85ce9d0534d0: Pull complete
d3565df0a804: Pull complete
Digest: sha256:59a5854dca16488305aee60c8dea4d88b68d816aee627de022b19d9bead48d04
Status: Downloaded newer image for mysql/mysql-server:latest
1be4f5dde2fb4e1d99e23ee2de5e3b663c7c2d0fabe7ef459cf87385071a2e0d
Run Code Online (Sandbox Code Playgroud)

现在,我已经检查了所有服务都已启动并正在运行。

docker ps
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS                   PORTS                               NAMES
1be4f5dde2fb        mysql/mysql-server:latest   "/entrypoint.sh mysql"   3 minutes ago       Up 3 minutes (healthy)   0.0.0.0:3306->3306/tcp, 33060/tcp   mysql
e7d9e3713f5c        ubuntu                      "/bin/bash"              6 days ago          Up 6 days                                                    angry_hodgkin
Run Code Online (Sandbox Code Playgroud)

现在我执行以下命令并无法连接到 mysql -

mysql -h127.0.0.1 -ppassword -uroot
-bash: mysql: command not found
Run Code Online (Sandbox Code Playgroud)

Docker版本..

docker --version
Docker version 1.12.3, build 6b644ec
Run Code Online (Sandbox Code Playgroud)

现在,我遇到了错误 - EDIT-1

docker exec -it 1be4f5dde2fb bash
bash-4.2# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
bash-4.2# sudo mysql
bash: sudo: command not found
Run Code Online (Sandbox Code Playgroud)

https://hub.docker.com/r/mysql/mysql-server/

Val*_*ira 6

使用以下命令进入docker容器

docker exec -it mysql bash
Run Code Online (Sandbox Code Playgroud)

然后您可以通过执行以下命令轻松连接到 MySQL

mysql -uroot -p
Run Code Online (Sandbox Code Playgroud)

如果您尝试从主机连接,则必须安装mysql客户端。在mac上,命令如下

brew install mysql
Run Code Online (Sandbox Code Playgroud)

  • @PAA:您还可以使用:`docker exec -it mysql bash`进入docker实例,会更容易记住。 (2认同)