1.拉取mysql镜像
docker pull mysql:5.7
2.安装mysql
在宿主机创建目录并创建mysql配置文件my.cnf
mkdir /home/data/mysql56/data #创建存放数据目录
mkdir /home/data/mysql56/conf #创建存放配置目录
cd /home/data/mysql56/conf
touch my.cnf #创建mysql配置文件my.cnf
vi my.cnf
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
3.执行命令
docker run -p 3307:3306 --restart=always --privileged=true --name mysql57 -v /home/data/mysql57/conf:/etc/mysql/conf.d -v /home/data/mysql57/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=hm12345 -d mysql:5.7
注释:
1)-p 端口映射,格式为:主机(宿主)端口:容器端口
2)--restart=always 设置随服务启动而启动容器
3)--name 命名容器名称
4)-v 设置挂载点,格式为:主机(宿主)目录:容器目录
5)-e 设置环境变量
6)-d 后台运行容器,并返回容器ID
7)--privileged=true 使用该参数,container内的root拥有真正的root权限
8)对于已经运行但没设置随docker服务的启动而启动容器的可以执行如下命令
docker update --restart=always 容器名