一、docker命令
1、搜索可用的docker镜像
docker search 镜像名字
2、下载镜像
docker pull 名字
3、查看本机所有的镜像文件
docker images
4.docker run
-d 标识是让 docker 容器在后台运行。
-p 标识通知 Docker 将容器内部使用的网络端口映射到我们使用的主机上。
–name 定义一个容器的名字,如果在执行docker run时没有指定Name,那么deamon会自动生成一个随机数字符串当做UUID。
-e 设置环境变量,或者覆盖已存在的环境变量。
例如:docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
含义:容器的名字为mysql,将容器的3306端口映射到本机的3306端口,mysql数据库的密码为password ,运行的镜像为mysql/mysql-server:latest
5.docker ps
-a 查看已经创建的容器
-s 查看已经启动的容器
6.启动容器名为con_name的容器。
docker start con_name
7.停止容器名为con_name的容器。
docker stop con_name
8.删除容器名为con_name的容器。
docker rm con_name
9.删除镜像名为img_name的镜像。
docker rmi img_name
10.重命名一个容器。
docker rename old_name new_name
二、安装MySql
1、查找Docker Hub上的mysql镜像
docker search mysql
2、拉取官方的MySql镜像
docker pull mysql:5.7(拉最新的 docker pull mysql)
注:
这里我拉的MySql版本是5.7。因为最新的mysql会导致
Navicat:client does not support authentication protocol requested by server; conside。(根据度娘的意思是:Navicat版本过低。)
因为懒,所以装了mysql5.7
3、查看本机所有的镜像文件(出现如下,证明成功)
4、根据镜像来运行容器
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
-d: 后台运行容器,并返回容器ID
–name mysql: 为容器指定一个名称;
5、看到这里就完成了MySql安装。(如果navicat或者其他工具还是无法远程连接,请接着往下看。)
查看容器
docker ps
#进入容器
docker exec -it ac8cb4b0ff79 bash
#登录mysql
mysql -u root -p
#查看user表
select user,host from mysql.user;
如果没有user:root host:% 这条数据.
#你想root使用password(密码)从任何主机连接到mysql服务器的话。
grant all privileges on . to root@"%" identified by “password” with grant option;
#MySQL用户数据和权限有修改后,不重启MySQL服务直接生效
flush privileges;