一、拉取镜像
docker pull mysql:8.0.29
启动前配置目录
mkdir -p /data/mysql/data /data/mysql/log /data/mysql/conf
mysql配置文件
vi /data/mysql/conf/my.conf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html
[mysqld]
default-time-zone='+08:00'
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_password
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysql
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock
!includedir /etc/mysql/conf.d/
二、启动
docker run -d -p 3306:3306 -v /data/mysql/log:/var/log/mysql -v /data/mysql/conf:/etc/mysql/conf.d -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql --restart=always mysql:8.0.29
!如果执行报错
docker: invalid reference format.
See 'docker run --help'.
或者其他说命令格式不对的
可能原因命令是拷贝执行的,自己手输一遍就好了。但要注意命令的里的文件夹是否和自己建的一样
三、验证启动成功没
进入容器
docker exec -it mysql env LANG=C.UTF-8 /bin/bash
登录
mysql -uroot -p
输入刚设置的密码
四、其他命令
1、删除容器
查看所有在运行的容器:docker ps -a
关闭容器:docker stop <容器名>
删除容器:docker rm <容器名>
2、删除镜像
查看全部镜像 命令:docker images
删除镜像 命令 :docker rmi <容器 id>