docker工人运行mysql客户端运行mysql容器
我只是进入docker,并有一个简单的MySQL 5.5设置使用官方形象 。 这是我的相关文件。
#Dockerfile FROM mysql:5.5 ENV MYSQL_ROOT_PASSWORD password #docker-compose.yml db: build: .
现在我运行docker-compose build
然后是docker-compose up
,它将提供以下输出
db_1 | 150828 14:04:17 [Note] mysqld: ready for connections. db_1 | Version: '5.5.45' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server (GPL)
现在在另一个terminal上运行docker-compose run db bash
并进入bash shell。 但在这个shell中,如果我尝试连接mysql客户端,我得到一个错误。
root@94a43b1f5be0:/# mysql -u root -p ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
同样的事情与普通的老docker工作。 示例(使用相同的Docker文件):
docker build -t my-new-image . docker run --name my-new-image-container -d my-new-image docker exec -it my-new-image-container bash root@8408282d162f:/# mysql -u root -p mysql>
我在做什么CodeGo.net,错误的docker组成。 我如何连接到我的运行的MySQL容器,并引发一些疑问。 任何帮助,将不胜感激。
使用docker-compose run
实际上启动了一个新的容器,而不是连接到现有的容器。 在这种情况下,你用bash
覆盖了命令,所以mysql服务器还没有启动。
你可以做的只是将docker exec
放入由docker-compose ps
给出的容器中。
顺便说一句,你不需要在这里build立自己的形象; 您可以在docker-compose.yml
中的环境variables中设置密码。 这也将有不烘烤密码到图像的优势。
- 访问正在运行的docker容器文件系统
- docker桥networking使用docker-compose不能访问VPN资源
- 用Docker错误500设置本地WordPress开发环境
- Docker撰写。 networking。 Spring Boot和MySQL连接
- 泊坞窗。 MySQL映像。 无法更改my.cnf文件
- 创build一个docker-mongo + memcache + ES的PHP驱动程序
- Docker for Windows和docker-maven-plugin – “SSLException:无法识别的SSL消息,明文连接”错误
- 来自现有Windows机器的基础Docker镜像
- 使用laravel的laravel项目中的错误500