Linux下安装Docker
在我们安装好Docker以后,就可以在Docker中安装我们要安装的服务了,比如本文中,我们安装MySQL8服务。
搜索MySQL镜像
MYSQL镜像有多个,我们可以搜素看看有哪些镜像,然后选择自己需要的镜像,不过一般来说,不过一般来说,就像我们购物一样,都是选择销量高。
docker search mysql
拉取最新版本的MySQL镜像到本地
docker pull mysql
如果执行docker pull mysql,不带版本,则是拉取最新版本的。
执行命令后,等待下载。
查看本地仓库镜像是否下载成功
docker images mysql
创建MySQL容器
提示:用户密码里面最好不要带@
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql
一些注意事项
docker run -p 3307:3306 --name mysql8.0 -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0
备注:
-p 将本地主机的端口映射到docker容器端口(如果本机的3306端口已被其它版本占用,使用3307,或者其他端口)
–name 容器名称命名
-e 配置信息,配置root密码
-d 镜像名称
Docker登录MySQL
docker exec -it mysql bash
mysql -uroot -p
外网连接MySQL
外网无法连接MySQL的情况
3306端口未开
is not allowed to connect tothis mmysql server
发现使用root用户不能登录,报如下错。
解决办法:
修改帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入MySQL后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从"localhost"改称"%"
登录Mysql,输入密码
mysql -u root -p
use mysql
select host from user where user='root';
update user set host = '%' where user ='root';
plugin caching_sha2_password could not be loaded
登录 mysql -u root -p 登录你的 mysql 数据库,然后 执行这条SQL:
#password 是你自己设置的root密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
卸载MySQL容器
查看容器
docter ps -a
通过docter ps -a 命令查看我们要卸载的容器。找到容器名称或者容器ID
停止容器
docker stop 容器ID/或者容器名称
如:docker stop 824a33fc62a2或者docker stop mysql 都可以停掉我们要卸载的容器。
移除容器
docker rm 容器ID/或者容器名称
停掉服务之后,docker rm 824a33fc62a2或者docker rm mysql 都可以卸载容器。
这时候,我们在查看容器 docter ps -a,就看不到mysql了。