1.版本信息

通过 docker version 命令可以获取当前docker版本信息

Client:
 Version:         1.13.1
 API version:     1.26
 Package version: docker-1.13.1-103.git7f2769b.el7.centos.x86_64
 Go version:      go1.10.3
 Git commit:      7f2769b/1.13.1
 Built:           Sun Sep 15 14:06:47 2019
 OS/Arch:         linux/amd64

Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: docker-1.13.1-103.git7f2769b.el7.centos.x86_64
 Go version:      go1.10.3
 Git commit:      7f2769b/1.13.1
 Built:           Sun Sep 15 14:06:47 2019
 OS/Arch:         linux/amd64
 Experimental:    false

2.部署mysql镜像

2.1 搜索mysql镜像

通过 docker search mysql 命令搜索mysql相关镜像

docker search mysql

如下是部分搜索结果,OFFICIAL 表示是官方镜像

搜索结果.png

2.2 拉取mysql镜像

通过 docker pull mysql 命令拉取mysql镜像,默认是latest版本

docker pull mysql

拉取成功后,可以通过 docker images 确认镜像

docker images

2.3 创建相关目录

# 创建相关目录
mkdir -p /opt/mysql/data 

2.4 启动mysql容器

使用如下命令启动:

docker run -d -p 3306:3306 --name mysql --restart=always \
-v /etc/localtime:/etc/localtime \
-v /opt/mysql/data/:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456  mysql:latest
  • -v 表示挂载文件系统
  • -d 表示后台启动
  • -p 表示端口映射
  • --name 表示指定名称
  • --restart=always 表示自动重启
  • -e 表示指定环境变量 MYSQL_ROOT_PASSWORD 表示默认ROOT密码

检查mysql的启动情况

docker logs -f mysql

2.5 进入mysql容器

docker exec -it mysql /bin/bash

容器内使用mysql

# 使用mysql
mysql -uroot -p

# 出现如下密码验证
# Enter password: 

# 输入密码后进入
mysql>

# 测试命令
select version();

show databases;

3.常见问题

3.1 mysql容器系统时间错误,与宿主机时间相差8小时

产生原因是容器与宿主器采用的时区不一致,解决方法:

# 常见的解决方式可以挂载宿主机系统时间,启动时添加如下参数:
-v /etc/localtime:/etc/localtime

# 完整命令
docker run -d -p 3306:3306 --name mysql --restart=always \
-v /etc/localtime:/etc/localtime \
-v /opt/mysql/data/:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456  mysql:latest

3.2 保存数据内容

mysql容器崩溃或者意外停止,仍保留数据内容,可以使用如下配置:

-v /opt/mysql/data/:/var/lib/mysql

作者是一个技术肥宅,还在不断的学习进步中,十分欢迎各位 杠精 读者指出文中不足之处,快来给我留言吧;欢迎转载,烦请注明出处。