1.下载mysq镜像
docker pull mysql:5.7
2.创建文件夹
mkdir -p /data0/mysql/conf mkdir -p /data0/mysql/logs mkdir -p /data0/mysql/data
3.创建my.cnf
cd /data0/mysql/conf touch my.cnf
内容为:
[mysqld] port=11062 datadir = /data1/mysql/data socket = /data1/mysql/temp/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe] log-error=/data1/mysql/mysqld/mysqld.log pid-file=/data1/mysql/mysqld/mysqld.pid # include all files from the config directory !includedir /etc/my.cnf.d
4.进入需要执行命令目录
cd /data0/mysql
5.执行命令
docker run -p 11062:11062 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
# 命令说明:
-p 11062:11062:将容器的3306端口映射到主机的3306端口
-v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的conf/my.cnf挂载到容器的/etc/mysql/my.cnf
-v $PWD/logs:/logs:将主机当前目录下的logs目录挂载到容器的/logs
-v $PWD/data:/mysql_data:将主机当前目录下的data目录挂载到容器的/mysql_data
-e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码
--lower_case_table_names=1 设置表名参数名等忽略大小写
-v /etc/localtime:/etc/localtime:ro 设置容器的时间与宿主机同步
6.测试连接 :ip为服务器ip,端口号11062,密码123456