docker - docker mysql,在执行期间发送 sql 命令
问题描述
我正在使用 bash 脚本创建一个 mysql 5.6 docker,我想更改密码。如何将 sql 命令从 bash 发送到 docker?
构建: sudo docker build -t mysql-5.6 -f ./.Dockerfile 。
运行.sh:
#!/bin/bash
sudo docker run --name=mysql1 -d mysql-5.6
sudo docker exec -it mysql1 mysql -uroot -p$base_password \
<<< SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_pass');
解决方案
您需要像这里描述的那样绑定 MySQL-port 。要保留端口 3306,您可以通过以下方式在主机上公开它:
sudo docker run --name=mysql1 -p 3306:3306 -d mysql-5.6
之后,您应该可以mysql -u USER -p PASSWORD
在本地主机上使用。然后,这将允许您向 docker-container 发送命令。
推荐阅读
- node.js - 带有大括号扩展的 NodeJS Exec cp 给出了不同的结果。为什么?
- c - 使用 CMAKE 在 C 中创建静态库
- javascript - 蛇游戏 - 使用 array.pop 和 array.unshift 移动蛇
- javascript - Angular JS - 如何停止从多个表中重复相同的选定下拉数据
- python - Python pandas 股票篮子收益优化
- php - PUT 方法 - 创建或更新记录(更新插入)
- java - 如何为 Java 调用者声明返回类型为“void”的 Kotlin Lambda?
- sql - 如何在microsoft access中根据复合键过滤表单数据
- javascript - 使用由父 Document 对象创建的元素创建 iframe 内容
- javascript - 如何在时间限制后启用 JavaScript 按钮单击功能?