1、拉取mysql8镜像
docker pull mysql:8
当前基于docker版本25.0.0
,低版本拉取可能回失败。
[root@localhost ~]# docker -v
Docker version 25.0.0, build e758fe5
一开始拉取报错:
Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp [2600:1f18:2148:bc00:41e1:f57f:e2e2:5e54]:443: connect: network is unreachable
网上查询后说是DNS有问题,配置/etc/resolv.conf
,按照网上的教程把nameserver
改成8.8.8.8
就正常了
# Generated by NetworkManager
#nameserver 192.168.1.1
#nameserver 192.168.0.1
nameserver 8.8.8.8
2、宿主机创建用于存放mysql数据的目录
mkdir -p /usr/local/mysql/data #用于存放MySQL数据文件的目录
mkdir -p /usr/local/mysql/log #用于存放 MySQL 日志文件的目录
3、运行mysql8镜像,并设置自启
docker run -d \
--name mysql8 \
--restart always \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=122333 \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/log:/var/log/mysql \
-e TZ=Asia/Shanghai \
-e MYSQL_LOWER_CASE_TABLE_NAMES=1 \
mysql:8
-e MYSQL_ROOT_PASSWORD=122333
:将数据库root用户密码这是为122333。
4、设置远程连接
#进入容器
docker exec -it mysql8 bash
#连接mysql
mysql -u root -p
#允许远程
GRANT ALL ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;
EXIT;