Docker安装mysql与redis

本文介绍如何使用Docker容器部署MySQL和Redis服务。对于MySQL,通过端口映射解决宿主机端口冲突问题;对于Redis,则展示了从镜像搜索到配置及启动的全过程。

1、docker 安装mysql:

Linux安装一个Mysql占用3306端口,然后再将其内的docker容器中也安装上 mysql时:

#–name指定容器名字 -v目录挂载 -p指定端口映射 -e设置mysql参数 -d后台运行
sudo docker run --name mysql
-v /usr/local/mysql/data:/var/lib/mysql
-v /usr/local/mysql/conf:/etc/mysql/conf.d
-v /usr/local/mysql/log:/var/log/mysql
-e MYSQL_ROOT_PASSWORD=root
-p 3305:3306 -d mysql:8.0(将容器中3306端口映射到Linux的3305端口因为linux中已经安装了一个mysql占用了3306端口,8.0是版本)
sudo docker run --name mysql -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/conf:/etc/mysql/conf.d -v /usr/local/mysql/log:/var/log/mysql -e MYSQL_ROOT_PASSWORD=root -p 3305:3306 -d mysql:latest

进入docker中mysql的安装目录:docker exec -it mysql /bin/bash
查看mysql几个安装文件:whereis mysql

2、docker安装redis

1 在docker hub搜索redis镜像
docker search redis
2 拉取redis镜像到本地
docker pull redis:6.0.10(不加版本号默认最新)
3 创建并修改/usr/local/redis/conf/redis.conf(不创建的话,直接启动redis服务,会把redis.conf当做文件夹创建)
4 启动redis服务运行容器
docker run --name redis -v /usr/local/redis/data:/data -v /usr/local/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf -p 6379:6379 -d redis:6.0.10 redis-server /usr/local/etc/redis/redis.conf
5 进入redis客户端
docker exec -it redis redis-cli

Docker安装 MySQL Redis 并实现持久化存储可以按照以下步骤进行: ### 安装 MySQL 并实现持久化存储 运行以下命令来创建并运行 MySQL 容器同时进行数据挂载以实现持久化存储: ```bash docker run -d -p 3306:3306 --privileged=true -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7 ``` 上述命令的参数解释如下: - `-d`:让容器在后台运行。 - `-p 3306:3306`:将容器内的 3306 端口映射到宿主机的 3306 端口。 - `--privileged=true`:给予容器特权。 - `-v /mydata/mysql/log:/var/log/mysql`:将宿主机的 `/mydata/mysql/log` 目录挂载到容器内的 `/var/log/mysql` 目录,用于存储日志。 - `-v /mydata/mysql/data:/var/lib/mysql`:将宿主机的 `/mydata/mysql/data` 目录挂载到容器内的 `/var/lib/mysql` 目录,用于存储数据。 - `-v /mydata/mysql/conf:/etc/mysql/conf.d`:将宿主机的 `/mydata/mysql/conf` 目录挂载到容器内的 `/etc/mysql/conf.d` 目录,用于存储配置文件。 - `-e MYSQL_ROOT_PASSWORD=123456`:设置 MySQL 的 root 用户密码为 123456。 - `--name mysql`:给容器命名为 mysql。 - `mysql:5.7`:使用 MySQL 5.7 版本的镜像 [^3]。 ### 安装 Redis 并实现持久化存储 持久化及更多相关配置可以参考 Redis 官方配置文档。可以通过以下命令设置 Redis 容器开机自启: ```bash sudo docker update redis --restart=always ``` 若不小心删掉了 MySQL 这个镜像实例,可以重新创建运行 MySQL 容器容器挂载文件要之前目录一致,然后重新进入容器内部,数据都还在。删除镜像实例的命令为: ```bash docker rm -f mysql ``` 重新创建运行 MySQL 容器的命令为: ```bash docker run -d -p 3306:3306 --privileged=true -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7 ``` [^1][^3] ### 容器内操作 #### MySQL 容器内操作 进入 MySQL 容器: ```bash docker exec -it mysql bash mysql -u root -p ``` 定位容器位置: ```bash whereis mysql ``` 退出容器: ```bash exit ``` 重启容器: ```bash docker restart mysql ``` [^2] #### Redis 容器内操作 进入 Redis 容器: ```bash docker exec -it myredis bash ``` 启动 Redis: ```bash redis-cli ``` 如果设置了 Redis 密码,需要使用 `-a` 参数来提供密码: ```bash redis-cli -a your_redis_password ``` [^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值