hub 官网镜像
hub 官网镜像地址:https://hub.docker.com/
下载MySQL 5.7 镜像
docker pull mysql:5.7
[vagrant@localhost ~]$ sudo docker pull mysql:5.7
5.7: Pulling from library/mysql
69692152171a: Pull complete
1651b0be3df3: Pull complete
951da7386bc8: Pull complete
0f86c95aa242: Pull complete
37ba2d8bd4fe: Pull complete
6d278bb05e94: Pull complete
497efbd93a3e: Pull complete
a023ae82eef5: Pull complete
e76c35f20ee7: Pull complete
e887524d2ef9: Pull complete
ccb65627e1c3: Pull complete
Digest: sha256:a682e3c78fc5bd941e9db080b4796c75f69a28a8cad65677c23f7a9f18ba21fa
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7
[vagrant@localhost ~]$
检查镜像
[vagrant@localhost ~]$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 5.7 2c9028880e58 5 weeks ago 447MB
启动MySQL
sudo docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
参数 | 说明 |
---|---|
-p 3306:3306 | -p 将容器的3306端口映射到主机的3306端口 |
–name mysql | – name设置容器名为mysql |
-v /mydata/mysql/log:/var/log/mysql | -v 目录挂载,将配日志文件挂载到主机 |
-v /mydata/mysql/conf:/etc/mysql | 将配配置文件挂载到主机 |
-v /mydata/mysql/data:/var/lib/mysql | 将配数据文件挂载到主机 |
-e MYSQL_ROOT_PASSWORD=root | mysql root默认密码设置 |
-d mysql:5.7 | -d 守护进程运行mysql:5.7这个容器 |
[vagrant@localhost ~]$ sudo sudo docker run -p 3306:3306 --name mysql \
> -v /mydata/mysql/log:/var/log/mysql \
> -v /mydata/mysql/data:/var/lib/mysql \
> -v /mydata/mysql/conf:/etc/mysql \
> -e MYSQL_ROOT_PASSWORD=root \
> -d mysql:5.7
91d96fbf1801898013bc363ecc5b99cf41949505535a57f8c90a275a97f55db0
查看docker 启动容器
[vagrant@localhost ~]$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
91d96fbf1801 mysql:5.7 "docker-entrypoint.s…" 31 seconds ago Up 30 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql
验证MySQL是否安装成功
MySQL配置
- sudo vi my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
- 重启MySQL 容器,生效配置
[vagrant@localhost conf]$ sudo docker restart mysql
mysql
进入MySQL容器
[vagrant@localhost ~]$ sudo docker exec -it mysql /bin/bash
root@91d96fbf1801:/# whereis mysql
mysql: /usr/bin/mysql /usr/lib/mysql /etc/mysql /usr/share/mysql
设置docker 启动时启动MySQL
docker update mysql --restart=always