前言
自己玩docker的随手记录。
一、获取image
1.docker hub 搜索mysql镜像。
docker search mysql
DoitsMacbookPro :: ~ » docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 13504 [OK]
mariadb MariaDB Server is a high performing open sou… 5155 [OK]
phpmyadmin phpMyAdmin - A web interface for MySQL and M… 696 [OK]
percona Percona Server is a fork of the MySQL relati… 594 [OK]
bitnami/mysql Bitnami MySQL Docker Image 79 [OK]
databack/mysql-backup Back up mysql databases to... anywhere! 74
linuxserver/mysql-workbench 45
ubuntu/mysql MySQL open source fast, stable, multi-thread… 38
linuxserver/mysql A Mysql container, brought to you by LinuxSe… 38
circleci/mysql MySQL is a widely used, open-source relation… 28
google/mysql MySQL server for Google Compute Engine 22 [OK]
rapidfort/mysql RapidFort optimized, hardened image for MySQL 13
bitnami/mysqld-exporter 4
ibmcom/mysql-s390x Docker image for mysql-s390x 2
newrelic/mysql-plugin New Relic Plugin for monitoring MySQL databa… 1 [OK]
vitess/mysqlctld vitess/mysqlctld 1 [OK]
hashicorp/mysql-portworx-demo 0
rapidfort/mysql-official RapidFort optimized, hardened image for MySQ… 0
docksal/mysql MySQL service images for Docksal - https://d… 0
mirantis/mysql 0
rapidfort/mysql8-ib RapidFort optimized, hardened image for MySQ… 0
cimg/mysql 0
drud/mysql 0
silintl/mysql-backup-restore Simple docker image to perform mysql backups… 0 [OK]
corpusops/mysql https://github.com/corpusops/docker-images/ 0
2.拉取选择的镜像,此处选择最新版本
docker pull mysql
3.查看镜像仓库
docker images
DoitsMacbookPro :: ~ » docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest 43fcfca0776d 20 seconds ago 449MB
二、创建container
1.创建本地目录,挂载到容器目录,持久化mysql数据和配置,container删除后数据依然在。
mkdir -p /Users/doit/Docker/mysql/log
mkdir -p /Users/doit/Docker/mysql/data
mkdir -p /Users/doit/Docker/mysql/conf
2.创建网桥(其他容器要使用mysql,最好指定IP,防止IP变更使其他container配置失效。
# doit 为名字,172.18.0.0/24 为IP段,皆可修改
docker network create --subnet 172.18.0.0/24 doit
3.创建container。
docker run -d -p 3306:3306 \
--name mysql \
--network=doit \
--ip 172.18.0.2 \
-v /Users/doit/Docker/mysql/log:/var/log/mysql \
-v /Users/doit/Docker/mysql/data:/var/lib/mysql \
-v /Users/doit/Docker/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=muses mysql
4.命令解释。
docker run #在docker中启动一个容器实例
-d #该容器在后台运行
-p 3306:3306 #容器与主机映射端口为,主机3306,容器3306
--name mysql #容器运行后的名称
--network=doit \ #指定网桥
--ip 172.18.0.2 \ #指定IP
-v /Users/doit/Docker/mysql/log:/var/log/mysql #将容器/var/log/mysql目录下的数据,备份到主机的对应目录下
-v /Users/doit/Docker/mysql/data:/var/lib/mysql #将容器/var/lib/mysql目录下的数据,备份到主机的对应目录下
-v /Users/doit/Docker/mysql/conf:/etc/mysql #将容器/etc/mysql目录下的数据,备份到主机的对应目录下
-e MYSQL_ROOT_PASSWORD=root #设置当前mysql实例的密码为root
mysql:5.7 #需要运行的容器名称以及版本号
5.查看情况。
docker logs mysql #启动日志
docker inspect mysql #环境配置