我怎样才能访问我的docker玛丽亚db?

我的主要问题是,我已经使用命令docker run --name db -e MYSQL_ROOT_PASSWORD=test -d -p 3306:3306 mariadb创build了我的mariadbdocker容器docker run --name db -e MYSQL_ROOT_PASSWORD=test -d -p 3306:3306 mariadb我如何访问sql数据库?

在某处我看到一个解决scheme使用临时(退出容器后删除)容器,但无法find它了。

我正在寻找一个命令: sudo docker exec -it [other flags] [command] db

从MySQL命令行客户端连接到MariaDB以下命令将启动另一个mariadb容器实例,并针对原始mariadb容器运行mysql命令行客户端,从而允许您针对数据库实例执行SQL语句:

 $ docker run -it --link some-mariadb:mysql --rm mariadb sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"' 

… some-mariadb是你原来的mariadb容器的名字。

有关MySQL命令行客户端的更多信息可以在MySQL文档中find

请参阅: https : //hub.docker.com/_/mariadb/

只是mysql客户端,没有额外的docker容器

在主机上安装mysql客户端,

 apt-get install mysql-client 

然后使用以下命令来访问您的数据库容器。

 mysql -u<user> -p<pass> -h $(docker inspect --format '{{ .NetworkSettings.IPAddress }}' <db-container>) 

该命令将自动获取您的docker集装箱的IP。

确保使用相应的值replace<user><pass><db-container> 。 在你的情况下:

 mysql -uroot -ptest -h $(docker inspect --format '{{ .NetworkSettings.IPAddress }}' db) 

你的命令让mariadb在标准端口3306上运行。如果没有,你必须告诉mysql命令新的端口。