1:查找镜像
docker search mysql
2:拉取镜像
拉取最新版本镜像
docker pull mysql
拉取指定版本镜像
docker pull mysql:version
3:查看镜像
docker images
4:运行镜像
1)命令
docker run --name mysql8.0 -d -p 3306:3306 -v /home/mysql/conf/:/etc/mysql/conf.d/ -v /home/mysql/log/:/var/log -v /home/mysql/mysql/:/var/lib/mysql/ -v /home/mysql/config/my.cnf:/etc/my.cnf -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0
2)命令释义
#启动mysql image命令
docker run
#为容器指定名称
--name mysql8.0
#在后台运行容器,打印容器ID
-d
#端口映射
-p 3306:3306
#挂载文件 -v 宿主机地址:容器地址
-v /home/mysql/conf/:/etc/mysql/conf.d/
#挂载文件 -v 宿主机地址:容器地址
-v /home/mysql/log/:/var/log
#挂载文件 -v 宿主机地址:容器地址
-v /home/mysql/mysql/:/var/lib/mysql/
#挂载文件 -v 宿主机地址:容器地址 my.cnf文件一般在/etc/或者/etc/mysql/ 文件夹下
-v /home/mysql/config/my.cnf:/etc/my.cnf
#设置root用户密码
-e MYSQL_ROOT_PASSWORD=123456
#容器名称:容器tag
mysql:8.0
3)执行结果
5:查看容器信息
1)查看执行中的容器
docker ps
2)查看所有容器
docker ps -a
6:访问mysql
docker exec -it mysql8.0 -uroot -p
7:测试外部连接
8:相关问题
1)在本地创建库后,docker服务中中文乱码问题
问题表现:
解决方案:
修改挂载出来的my.cnf文件
[client]
default-character-set=utf8mb4
[mysqld]
character-set-server=utf8mb4
[client]
//客户端字符集设置
default-character-set=utf8mb4
[mysqld]
//服务端字符集设置
character-set-server=utf8mb4
2)OCI runtime exec failed: exec failed: unable to start container process: exec: "-u": executable file not found in $PATH: unknown