常用docker镜像
✨文章摘要 本文是一个剪贴板,存放常用docker镜像的命令方便复制粘贴,并附上详细的解释以供新手快速搭建数据库环境
Mysql
mysql:5.7 镜像
docker
docker run -p 3306:3306 --name Mysql -v Mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --restart=always -d mysql:5.7-p 3306:3306:将容器的3306端口映射到主机的3306端口,方便外部连接。--name Mysql:为容器指定一个名称,这里为Mysql。-v Mysql:/var/lib/mysql:将宿主机的Mysql目录挂载到容器内的/var/lib/mysql目录,持久化数据。-e MYSQL_ROOT_PASSWORD=root:设置MySQL的root用户密码为root,可以根据需求修改。--restart=always:容器异常退出后会自动重启。-d mysql:5.7:使用mysql:5.7镜像并在后台运行容器。
mysql:8.0.20 镜像
docker
docker run -p 3306:3306 --name Mysql -v Mysql:/var/lib/mysql8 -e MYSQL_ROOT_PASSWORD=root --restart=always -d mysql:8.0.20与上面的命令类似,但这次使用的是 mysql:8.0.20 镜像。如果你需要其他版本,可以调整镜像版本。
进入docker容器内部
docker
docker exec -it Mysql bashdocker exec -it:进入正在运行的容器。Mysql:容器的名称。bash:启动 bash shell 进入容器内部,方便后续操作。
查看MySQL用户列表
docker
SELECT user, host FROM mysql.user;- 通过该命令查看MySQL数据库中所有用户及其主机名,方便检查权限配置。
忽略MySQL表名大小写
进入 MySQL 容器内部
dockerdocker exec -it Mysql bash使用
echo命令编辑 MySQL 配置文件my.cnfdockerecho "[mysqld]" >> /etc/mysql/my.cnf echo "lower_case_table_names=1" >> /etc/mysql/my.cnf- 第一个命令将
[mysqld]配置段添加到my.cnf配置文件中。 - 第二个命令设置
lower_case_table_names=1,这意味着MySQL将不区分表名大小写,避免在不同操作系统之间迁移数据时出现问题。
- 第一个命令将
退出容器并重新启动 MySQL 服务
dockerexit重启MySQL容器
dockerdocker restart Mysql- 重启容器使得新的配置生效。
Redis
创建docker容器 redis 镜像并绑定自定义配置文件和数据存储路径
docker
docker run --restart=always -p 6379:6379 --name redis -v /home/dj/redis/redis.conf:/etc/redis/redis.conf -v /home/dj/redis/data:/data -d redis:latest redis-server /etc/redis/redis.conf--restart=always:容器异常退出后会自动重启。-p 6379:6379:将容器的6379端口映射到主机的6379端口,方便外部连接。--name redis:为容器指定一个名称,这里为redis。-v /home/dj/redis/redis.conf:/etc/redis/redis.conf:将宿主机的redis.conf配置文件挂载到容器内的/etc/redis/redis.conf,自定义配置。-v /home/dj/redis/data:/data:将宿主机的data目录挂载到容器内的/data目录,持久化Redis数据。-d redis:latest:使用redis:latest镜像并在后台运行容器。redis-server /etc/redis/redis.conf:指定Redis使用容器内的自定义配置文件进行启动。