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"