docker工人MySQL没有输出

Docker初学者。

我有一台机器设置了2个容器。 他们都在运行标准的mysql映像。 一个被设置为服务器,并从另一个链接到它,并尝试运行mysql命令。

理想情况下,我希望能够通过命令提示符完成此操作,以便通过Python调用它。

我能够无误地运行一些命令,并尝试将我的名字放入myDB的用户名表中。

当我运行命令:

docker exec sqlserverClient mysql -uroot -ppassword -e"use myDB" -e"select * from Usernames" 

我找回输出:

 Warning: Using a password on the command line interface can be insecure 

而没有别的。 嗯不错。 可能是好的build议。 但是更大的问题是:

我的桌子在哪里? 即使插入错误,我不应该至less看到一张空白的桌子?

我完全期待看到这样的事情:

 +------------+-------------+ | firstname | lastname | +------------+-------------+ | Joe | Shmoe | +------------+-------------+ 

“docker日志sqlserverClient”没有它。 那么它去了哪里?

我所有的命令 – 创build数据库,创build表和插入,都没有错误。

– >如果你需要更多的docker命令,让我知道,我把它们全部logging下来<

感谢您的时间。

尝试使用docker exec -it ,以获得tty和输出

但是请记住, docker exec仅用于debugging。

最好的做法是有一个docker集装箱:

  • 一个入口点设置为sqlserverClient
  • 在运行瞬态容器时传入参数的cmd。

那是:

 docker run --rm -it sqlimage mysql -uroot -ppassword -e"use myDB" -e"select * from Usernames" 

一旦命令执行完毕,容器就会停止并被丢弃。

这意味着你可以有一个别名,如:

 alias drs='docker run --rm -it sqlimage' 

并致电:

 drs mysql -uroot -ppassword -e"use myDB" -e"select * from Usernames"