docker(三)

博客介绍了Docker相关运维操作,包括停止和删除容器、删除镜像、运行容器、在容器中加载sql文件等,还给出了Docker images在Mac上的存放位置参考。同时针对Navicat和Flask连接MySQL遇到的问题,分析原因并给出修改用户加密方式的解决方案。

1.停止所有的container,这样才能够删除其中的images:

docker stop $(docker ps -a -q)

2.如果想要删除所有container的话:

docker rm $(docker ps -a -q)

3.删除所有镜像:

docker rmi $(docker images -q)

4.Dockerizing a Flask-MySQL app with docker-compose
https://medium.com/@shamir.stav_83310/dockerizing-a-flask-mysql-app-with-docker-compose-c4f51d20b40d

5.运行容器
$ docker run -d --name -e MYSQL_ROOT_PASSWORD= #创建容器
$ docker exec -it /bin/bash ##进入容器

6.在容器中加载sql文件,需要先-v挂载。
source /db/jxc.sql

7.mysql
docker run --name mysql -v /Users/zhaotengwei/Desktop/mysql:/database -p 6666:3306 -e MYSQL_ROOT_PASSWORD=woaini123.. -d mysql

8.docker images存放的位置(Mac)
1608688-20190523111727466-1921183798.png
详细可以看这篇回答:
https://stackoverflow.com/questions/32605383/location-of-docker-images-downloaded-by-docker-1-9-1-on-mac-os-x/38792709#38792709
https://stackoverflow.com/questions/19234831/where-are-docker-images-stored-on-the-host-machine/37642236#37642236
https://gist.github.com/BretFisher/5e1a0c7bcca4c735e716abf62afad389

  1. navicat 以及flask连接mysql遇到的问题
    1608688-20190523113858555-45545193.png

原因:mysql 8.0 默认使用 caching_sha2_password 身份验证机制;客户端不支持新的加密方式。

解决方案:

修改用户(root)的加密方式

步骤:

1、进入mysql容器内部

docker exec -it mysql /bin/bash

2、登录mysql
mysql -u root -p

3、设置用户配置项

1)、查看用户信息
1608688-20190523114212456-503618610.png

备注:host为 % 表示不限制ip localhost表示本机 使用plugin非mysql_native_password 则需要修改密码

2)、修改加密方式

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; ### 123456 mysql的登录密码
flush privileges;

再次查看:
1608688-20190523114430520-360134890.png
第一个plugin变成mysql_native_password了。

再次连接Navicat
1608688-20190523114540749-191016234.png

转载于:https://www.cnblogs.com/plusUltra/p/10907327.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值