在本地建立目录
mkdir -p ~/Document/study/docker/mysql
拉取mysql5.7:
docker run --restart=always --name mysql5.7 -p 3306:3306 -v ~/Documents/study/docker/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Abcdef@123456 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
查看拉取到的镜像文件情况:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 5.7 e1e1680ac726 8 days ago 373MB
先前本地安装的mysql占用了3306,关掉再次启动后;
$ docker run --restart=always --name mysql5.7 -p 3306:3306 -v ~/Documents/study/docker/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Abcdef@123456 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
e5df3fc75050b4039f0dd6de3dab2444bc48f86631bbba3f3ed0263ea1b16a04
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e5df3fc75050 mysql:5.7 "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:3306->3306/tcp, 33060/tcp mysql5.7
使用navicat可以正常链接;
进入容器可以完整的查看镜像内部的信息:
$ docker exec -it e5df3fc75050 /bin/bash
root@e5df3fc75050:/usr/local# which mysql
/usr/bin/mysql
root@e5df3fc75050:/usr/local# /usr/bin/mysql -uroot -pAbcdef@123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.27 MySQL Community Server (GPL)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.02 sec)
mysql>
可以直接进入容器操作数据库.
后续的日常使用:
$ docker stop mysql5.7
mysql5.7
$ docker start mysql5.7
mysql5.7
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e5df3fc75050 mysql:5.7 "docker-entrypoint.s…" 13 minutes ago Up 13 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp mysql5.7
如此就可以正常的使用了.如此这个虚拟机上面的mysql就可以正常的运行了.