1.下载docker-desktop
官网地址:https://www.docker.com/products/docker-desktop
2.安装 Docker.dmg
3.点击使用,进入命令行
4.查询mysql镜像
$docker search mysql
结果:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 11188 [OK]
mariadb MariaDB Server is a high performing open sou… 4251 [OK]
mysql/mysql-server Optimized MySQL Server Docker images. Create… 833 [OK]
percona Percona Server is a fork of the MySQL relati… 548 [OK]
phpmyadmin phpMyAdmin - A web interface for MySQL and M… 284 [OK]
centos/mysql-57-centos7 MySQL 5.7 SQL database server 90
mysql/mysql-cluster Experimental MySQL Cluster Docker images. Cr… 88
centurylink/mysql Image containing mysql. Optimized to be link… 59 [OK]
databack/mysql-backup Back up mysql databases to... anywhere! 45
deitch/mysql-backup REPLACED! Please use http://hub.docker.com/r… 41 [OK]
prom/mysqld-exporter 40 [OK]
tutum/mysql Base docker image to run a MySQL database se… 35
linuxserver/mysql A Mysql container, brought to you by LinuxSe… 30
schickling/mysql-backup-s3 Backup MySQL to S3 (supports periodic backup… 30 [OK]
mysql/mysql-router MySQL Router provides transparent routing be… 21
centos/mysql-56-centos7 MySQL 5.6 SQL database server 20
arey/mysql-client Run a MySQL client from a docker container 18 [OK]
fradelg/mysql-cron-backup MySQL/MariaDB database backup using cron tas… 15 [OK]
openshift/mysql-55-centos7 DEPRECATED: A Centos7 based MySQL v5.5 image… 6
devilbox/mysql Retagged MySQL, MariaDB and PerconaDB offici… 3
jelastic/mysql An image of the MySQL database server mainta… 2
ansibleplaybookbundle/mysql-apb An APB which deploys RHSCL MySQL 2 [OK]
widdpim/mysql-client Dockerized MySQL Client (5.7) including Curl… 1 [OK]
centos/mysql-80-centos7 MySQL 8.0 SQL database server 1
monasca/mysql-init A minimal decoupled init container for mysql 0
5.使用 mysql 镜像,获取镜像
docker pull mysql
# 可以使用 docker pull mysql:tag 语法指定版本,没有指定默认相当于 docker pull mysql:latest
Using default tag: latest
latest: Pulling from library/mysql
Digest: sha256:8b928a5117cf5c2238c7a09cd28c2e801ac98f91c3f8203a8938ae51f14700fd
Status: Image is up to date for mysql:latest
docker.io/library/mysql:latest
6.创建容器
# 配置文件目录,后面挂载用,可以在任意目录
mkdir -p /Users/test/mysql/config.d
touch /Users/test/mysql/config.d/my.cnf
#创建镜像
docker run -p 3306:3306 --name mMysql -v /Users/test/mysql/config.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql
命令说明:
- -p 3306:3306:将容器的3306端口映射到主机的3306端口
- -v /Users/test/mysql/config.d:/etc/mysql/conf.d:将主机/Users/test/mysql/config.d目录挂载到容器的/etc/mysql/conf.d
- -e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码
- -d: 后台运行容器,并返回容器ID
- mysql: mysql镜像ID
7.查看容器运行状况
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
05bfb3d659d6 mysql "docker-entrypoint.s…" 18 minutes ago Up 18 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mMysql
成功
8.本地可以是 127.0.0.1 3306 连接 mysql服务