shell脚本执行docker容器里的mysqll脚本
时间: 2023-11-18 15:02:20 浏览: 179
您可以使用以下的shell脚本来执行Docker容器中的MySQL脚本:
```shell
#!/bin/bash
# 启动MySQL容器,假设容器名为mysql-container
docker run -d --name mysql-container mysql
# 将MySQL脚本文件复制到容器中,假设脚本文件名为script.sql
docker cp script.sql mysql-container:/script.sql
# 执行MySQL脚本
docker exec mysql-container mysql -u root -p<password> < /script.sql
# 停止并删除MySQL容器
docker stop mysql-container
docker rm mysql-container
```
请注意,上述脚本中的 `<password>` 部分需要替换为您的MySQL密码。此外,您还需要将 `script.sql` 替换为您要执行的实际MySQL脚本文件的路径。
这个脚本会启动一个名为 `mysql-container` 的MySQL容器,将脚本文件复制到容器中,然后使用 `docker exec` 命令在容器内部执行MySQL脚本。最后,停止并删除MySQL容器。
希望这可以帮助到您!如有任何问题,请随时向我提问。
相关问题
shell脚本进入docker容器中执行命令
要在Docker容器中执行shell命令,可以使用docker exec命令。具体来说,可以使用以下命令进入Docker容器并执行命令:
```
docker exec -it <container_name> sh -c "<command>"
```
其中,<container_name>是Docker容器的名称或ID,<command>是要在容器中执行的命令。例如,要在名为my_container的Docker容器中执行ls命令,可以使用以下命令:
```
docker exec -it my_container sh -c "ls"
```
这将进入my_container容器并执行ls命令。如果要执行多个命令,可以将它们用分号隔开。
shell脚本执行docker删除容器命令
#!/bin/bash
# 删除指定名称的容器
docker rm -f 容器名称
# 删除所有已停止的容器
docker rm $(docker ps -aq --no-trunc --filter "status=exited")
# 删除所有未命名容器
docker rm $(docker ps -aq --no-trunc --filter "name=\<none\>")
阅读全文