简介

记录一次在centos7.0下安装docker,

一、构建镜像

  1. 拉取官方镜像
1
docker pull mysql:8
  1. 检查是否拉取成功
1
docker images
  1. 运行MySql容器
1
docker run  --privileged=true -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root-d mysql  --secure-file-priv='/usr/local'
  • –privileged:
  • -–name:容器名,此处命名为mysql
  • -e:配置信息,此处配置mysql的root用户的登陆密码
  • -p:端口映射,此处映射 宿主机3306端口 到 容器的3306端口
  • -d:后台运行容器,保证在退出终端后容器继续运行
  • –secure-file-priv:
  1. 建立路径映射
1
2
3
4
5
6
7
docker run --privileged=true -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql \
--secure-file-priv='/usr/local'
  • -v:主机和容器的目录映射关系,”:”前为主机目录,之后为容器目录
  1. 如果建立路径映射,需要在conf路径放一个my.ini
    建立路径映射的话,如果没有放置my.ini在conf路径是无法启动的,所以需要准备一个my.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#等待超时时间
wait_timeout=172800
#交互式连接超时时间
interactive-timeout=172800
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
sort_buffer_size=16MB

将my.ini放到conf路径后,使用命令docker ps -a查看mysql容器的容器id,然后再使用命令docker start 容器ID前四位来启动mysql容器。
再次使用docker ps -a来查看mysql容器状态。