Maz*_*zzy 31 mysql docker linux-containers
我按照指令https://registry.hub.docker.com/_/mysql/来提取图像并运行一个运行mysql服务器的容器.容器在后台运行,我会运行一些命令.哪个是连接容器并从命令行执行此命令的最佳方法?
Abd*_*aly 43
您可以使用以下命令连接到mysql容器并运行命令:
docker exec -it mysql bash -l
Run Code Online (Sandbox Code Playgroud)
(mysql你给容器的名字在哪里)
请记住,您执行的任何操作都不会在下次从同一图像运行容器时持续存在.
Lau*_*uet 26
docker exec -i some_mysql_container mysql -uroot -ppassword <<< "select database();"
Run Code Online (Sandbox Code Playgroud)
就我而言,<<<解决方案不起作用。
相反,我用了-e。
例:
docker exec ${CONTAINER_NAME} mysql -u ${USER_NAME} -p${PASSWORD} -e "drop schema test; create schema test;"
对于@Abdullah Jibaly解决方案,在MySQL 5.7中进行测试后,它只会进入bash终端提示符,因此您仍然需要第二次输入mysql命令。
为了使用一行命令运行MySQL容器后直接进入MySQL命令行客户端,只需运行以下命令:
docker exec -it container_mysql_name mysql -u username -p
Run Code Online (Sandbox Code Playgroud)