最近在腾讯云上买了个2核2GB,50GB大小的ubantu系统服务器,在docker里边搭建了mysql、redis、以及nacos。
第一次使用服务器,想着实操一下,结果遇到了以下问题:
1.远程连接到mysql创建了相关的数据库,第二天再次连接时,之前创建的数据库以及相关表消失了。
2.在运行程序时发现,redis只能读不能写。
在网上翻阅了相关帖子,内容有点简略,有无知道如何解决呢,十分感谢!
最近在腾讯云上买了个2核2GB,50GB大小的ubantu系统服务器,在docker里边搭建了mysql、redis、以及nacos。
第一次使用服务器,想着实操一下,结果遇到了以下问题:
1.远程连接到mysql创建了相关的数据库,第二天再次连接时,之前创建的数据库以及相关表消失了。
2.在运行程序时发现,redis只能读不能写。
在网上翻阅了相关帖子,内容有点简略,有无知道如何解决呢,十分感谢!
晚上好🌙🌙🌙
本答案参考通义千问
你提到的问题涉及MySQL数据丢失和Redis只读不写,这两个问题在Docker环境中较为常见。以下是详细分析及解决方案:
/var/lib/mysql)挂载到宿主机的目录中,那么每次容器重启时都会重新创建新的数据。-v 参数将宿主机的某个目录挂载到容器的 /var/lib/mysql 目录上。docker run -d \
--name mysql-container \
-e MYSQL_ROOT_PASSWORD=your_password \
-p 3306:3306 \
-v /path/to/your/local/data:/var/lib/mysql \
mysql:latest
注意:
path/to/your/local/data是你本地的一个目录,用于存储MySQL的数据文件。
docker logs mysql-container
redis.conf)中设置了 read-only yes,则客户端无法进行写操作。redis.conf 文件,查找以下配置项:# 是否启用只读模式
read-only no
yes,请将其改为 no,然后重启Redis服务。docker ps | grep redis
docker start redis-container
redis-cli
127.0.0.1:6379> set test "value"
OK
127.0.0.1:6379> get test
"value"
-v 参数挂载数据目录)。read-only 设置。如有更多关于Docker、MySQL、Redis的配置细节,欢迎继续提问!