docker 安装mysql
使用dockerhub pull mysql
1.查找Docker Hub上的mysql镜像
$ sudo docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 5650 [OK]
mariadb MariaDB is a community-developed fork of MyS… 1752 [OK]
mysql/mysql-server Optimized MySQL Server Docker images. Create… 388 [OK]
hypriot/rpi-mysql RPi-compatible Docker Image with Mysql 78
zabbix/zabbix-server-mysql Zabbix Server with MySQL database support 75 [OK]
centurylink/mysql Image containing mysql. Optimized to be link… 58 [OK]
zabbix/zabbix-web-nginx-mysql Zabbix frontend based on Nginx web-server wi… 41 [OK]
tutum/mysql Base docker image to run a MySQL database se… 31
1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5 ubuntu-16-nginx-php-phpmyadmin-mysql-5 24 [OK]
mysql/mysql-cluster Experimental MySQL Cluster Docker images. Cr… 19
centos/mysql-57-centos7 MySQL 5.7 SQL database server 17
schickling/mysql-backup-s3 Backup MySQL to S3 (supports periodic backup… 16 [OK]
linuxserver/mysql A Mysql container, brought to you by LinuxSe… 14
zabbix/zabbix-proxy-mysql Zabbix proxy with MySQL database support 10 [OK]
centos/mysql-56-centos7 MySQL 5.6 SQL database server 7
openshift/mysql-55-centos7 DEPRECATED: A Centos7 based MySQL v5.5 image… 6
dsteinkopf/backup-all-mysql backup all DBs in a mysql server 3 [OK]
circleci/mysql MySQL is a widely used, open-source relation… 3
frodenas/mysql A Docker Image for MySQL 3 [OK]
cloudposse/mysql Improved `mysql` service with support for `m… 0 [OK]
cloudfoundry/cf-mysql-ci Image used in CI of cf-mysql-release 0
inferlink/landmark-mysql landmark-mysql 0 [OK]
astronomerio/mysql-sink MySQL sink 0 [OK]
ansibleplaybookbundle/mysql-apb An APB which deploys RHSCL MySQL 0 [OK]
openzipkin/zipkin-mysql Mirror of https://quay.io/repository/openzip… 0
- 拉取官方的mysql镜像,我这里目前安装了最新的镜像 5.7.21
$ sudo docker pull mysql:5.7.21
- pull完成后可查看docker中镜像
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 5.7.21 f008d8ff927d 2 weeks ago 409MB
4.运行容器
sudo docker run -p 3306:3306 --name mysql -v /youpath/my.cnf:/etc/mysql/my.cnf -v /youpath/logs:/logs -v /youpath/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.21
-p 3306:3306:将容器的3306端口映射到主机的3306端口
-v youpath/conf/my.cnf:/etc/mysql/my.cnf:将当前物理机目录下的conf/my.cnf挂载到容器的/etc/mysql/my.cnf
-v youpath/logs:/logs:将当前物理机目录下的logs目录挂载到容器的/logs
-v youpath/data:/mysql_data:将当前物理机目录下的data目录挂载到容器的/mysql_data
-e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码
<b>youpath为物理机下的mysql目录,如果没有可创建一个</b>
sudo mkdir -p ~/mysql/data ~/mysql/logs ~/mysql/conf
5.查看容器启动情况
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
24beab5a9a85 mysql:5.7.21 "docker-entrypoint.s…" About an hour ago Up About an hour 0.0.0.0:3306->3306/tcp mysql
6.如果物理机没有mysql-clinet 则需要下载mysql-client(如果不使用ssh命令连接可忽略)
$ sudo apt-get install mysql-client-core-5.7.21
7.连接mysql
$ mysql -h 0.0.0.0 -P3306 -uroot -p123456
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.21 |
+-----------+
1 row in set (0.00 sec)