Docker之Mysql安装
一、搜索Mysql镜像
我们启动一个mysql首先需要一个mysql镜像,我们可以自己手动制作一个mysql镜像,最快捷的还是从docker镜像库中查找一个
可以使用docker search 命令查找你需要的内容
注意先检查是否启动了docker服务
如果没启动执行docker search mysql会报
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
如果出现这个报错,需要先启动docker服务,在centeros下是:
sudo service docker start
成功执行docker search mysql会得到如下截图
我们也可以用docker search 查找redis kafka等中间件
二、下载mysql镜像
命令如下:
docker pull docker.io/mysql
熟悉git的朋友就应该能明白docker下载镜像就是将远端镜像库的镜像拉取到本地
下载成功的截图
二、启动mysql镜像
首先我们可以使用docker images查看本地镜像
运行以下命令启动mysql镜像
docker run -d -p 3306:3306 --name mymysql -e MYSQL_ROOT_PASSWORD=root docker.io/mysql:latest
-d 参数让后台运行容器,并返回容器ID
-p 指定映射端口,容器内部端口映射到主机的端口 格式 主机(宿主)端口:容器端口
-name 为容器起名称
可以使用docker ps 查看当前运行的容器
然后用docker exec -it ‘cid’ bash进入容器内部
连接mysql
mysql -u root -p
修改mysql允许远程连接
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
三、连接数据库
发现出现了NotBefore: Sun Aug 23 14:02:27 UTC 2020.的报错
检查下宿主机的时间和容器的时间
在宿主机上面date
在容器里面date
发现时间不一致,我们可以使用以下两个命令修改容器主机的时间
docker cp /etc/localtime 【容器ID或者NAME】:/etc/localtime
docker cp -L /usr/share/zoneinfo/Asia/Shanghai 【容器ID或者NAME】:/etc/localtime
修改完之后再重启容器
然后再连接测试
连接成功