由于项目需要数据库,需要本地搭建测试,但毕竟是个人电脑,所以打算在docker下搭建mysql和phpmyadmin。
安装docker
本人Debian9 amd64,参照官网教程安装的docker
卸掉旧版(若有)
|
|
添加docker的apt源
|
|
装
|
|
使用国内镜像源(可选)
若在安装docker或后面的image网速感人(比如本人初次就这样),可以更换国内镜像。参见USTC的Docker CE 源使用帮助和Docker Hub 源使用帮助
更换apt源
编辑/etc/apt/sources.list
,找到download.docker.com
,替换成mirrors.ustc.edu.cn/docker-ce
更换hub源
新建或更改文件/etc/docker/daemon.json
(应该是原本没有的),加入
|
|
重启dockerd
|
|
修改docker使用权限(可选)
每一次docker操作都需要sudo
不太方便,可以将当前用户加入docker用户组
编辑/etc/group
,找到docker用户组,添加当前用户。
忘记是否需要重启dockerd以及注销用户重新登录。
下载并运行mysql和phpmyadmin
操作参照docker hub的两个说明:MYSQL,phpmyadmin
下载image
|
|
运行
由于希望phpmyadmin在每次运行结束之后都删除掉(image仍保留),而MYSQL则保留(不想每次都要先设置下权限,后面会提到),所以在前者加了--rm
参数
|
|
运行完后,浏览器打开http://127.0.0.1:8080
即可浏览phpmyadmin。输入用户名root
密码ChangeThePassword
登录。
这时候会报错,说xxxip不允许登录该MYSQL,需要进mysql修改修改权限。
设置MYSQL允许远程登录
步骤参照Set up a remote MySQL database connection
命令行执行
|
|
这时候已经进入mysql所在容器,然后再执行以下命令以root身份登录
|
|
这时会弹出提示要求输入密码,输入完回车进入,开始配置权限
|
|
上面的命令允许root从任何ip(命令中的%)以’ChangeThePassword’密码登录,并以任何操作(命令中的ALL)操作所有库所有表(命令中的.)
推出终端,现在再在浏览器上试试,很好成功了。
停止以及后续使用
停止的话只需要docker stop sql phpmyadmin
即可,不过由于对于mysql所在的容器的操作已经保存,所以下次启动mysql时只需要docker start sql
即可
但由于phpmyadmin在每次运行结束后就删除了,所以再次运行时操作不变,即
|
|