使用Docker安装MySQL
安装Docker
一定要去官网下载Docker,目前一般会安装Docker Destop版本,也自带命令行工具。
下载地址:docker-desktop
安装后检查下docker pull是否能从hub上拉取镜像:
➜ docker pull mysql:latest
Error response from daemon: Get "https://registry-1.docker.io/v2/": EOF
很遗憾,直接报错了,一般这个是网络问题,使用dig @114.114.114.114 registry-1.docker.io 查看DNS解析情况
➜ dig @114.114.114.114 registry-1.docker.io
; <<>> DiG 9.10.6 <<>> @114.114.114.114 registry-1.docker.io
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17618
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;registry-1.docker.io. IN A
;; ANSWER SECTION:
registry-1.docker.io. 53 IN A 52.21.28.242
registry-1.docker.io. 53 IN A 52.5.157.114
registry-1.docker.io. 53 IN A 34.230.238.103
registry-1.docker.io. 53 IN A 54.197.112.205
registry-1.docker.io. 53 IN A 34.237.244.67
registry-1.docker.io. 53 IN A 34.236.198.185
registry-1.docker.io. 53 IN A 54.85.133.123
registry-1.docker.io. 53 IN A 52.202.132.224
;; Query time: 10 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Tue Apr 26 20:43:45 CST 2022
;; MSG SIZE rcvd: 177
选取一个一个DNS记录,配置配置hosts,在/etc/hosts中增加记录
registry-1.docker.io 54.85.133.123
再测试docker pull发现已经可以工作。
拉取镜像启动容器
1)拉取镜像:查找mysql镜像,https://hub.docker.com/_/mysql?tab=tags
➜ docker pull mysql:latest
latest: Pulling from library/mysql
4be315f6562f: Pull complete
96e2eb237a1b: Pull complete
8aa3ac85066b: Pull complete
ac7e524f6c89: Pull complete
f6a88631064f: Pull complete
15bb3ec3ff50: Pull complete
ae65dc337dcb: Pull complete
654aa78d12d6: Pull complete
6dd1a07a253d: Pull complete
a32905dc9e58: Pull complete
152d41026e44: Pull complete
42e0f73ebe32: Pull complete
Digest: sha256:fc77d54cacef90ad3d75964837fad0f2a9a368b69e7d799665a3f4e90e600c2d
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest
2)启动容器
# 查找镜像
➜ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest f2ad9f23df82 6 days ago 521MB
➜ docker run --name mysql8 -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=ahern88 -v /data/mysql:/var/lib/mysql mysql:latest
2053595f4a2338a61ff727ceb9dad5c99d02229feab2823dfee852f8595b9aa2
3)检查数据库
使用客户端工具或代码连接,测试安装是否成功。