众所周知,Docker 是一款容器平台,安装在 Docker 下的所有应用,都以镜像的形式存在,也就是说,我们无法在正常的 Linux 或 Unix 文件系统下去操作应用。那么,我们应该如何去管理安装在 Docker 下的应用(准确的说应该是镜像)呢?本篇文章以 mysql 为例,记录下通过 Docker 操作 Mysql 数据库以实现外网访问权限。
1、docker ps
指令
docker ps
指令可以查看当前运行状态下的应用运行情况。使用 Docker ps 命令获取 Mysql 的 ID。
通过 docker ps 指令获取到了 Mysql 的 ID 为 6154c5ef7864 。
2、docker exec 指令
我们可以通过 docker exec -it 应用ID或应用名 /bin/bash
的指令来进入应用镜像。
参数说明:
- -i: 交互式操作。
- -t: 终端。
- 应用 ID 或应用名: 镜像的 ID,如刚刚通过 docker 获取的 mysql 的镜像 id 为 6154c5ef7864、或直接输入 mysql
- /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
示例:docker exec -it 6154c5ef7864 /bin/bash
docker exec -it mysql bash
3、连接 Mysql
进入 Mysql 的镜像后,便可以直接通过
mysql -uroot -p
指令,根据提示输入密码后,进入 mysql 交互界面
4、设置外网访问权限:
通过指令
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'liuxin' WITH GRANT OPTION;
来创建 用户名为 root 密码为 liuxin 可以从任意主机(@)连接到数据库。
运行结束后通过指令:flush privileges;
来刷新数据库配置。
5、退出容器:
配置完成后可以接通过 exit
退出 Mysql 以及 Docker 容器
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于