Docker容器启动Redis设置密码、MongoDB设置账号密码并持久化、MySQL启动命令

Redis启动命令

docker run --name wh-redis -p 6379:6379 -v /root/RedisData:/data -d --restart unless-stopped redis --appendonly yes --requirepass 'Your-password'
  • docker run:启动一个新的 Docker 容器。

  • --name wh-redis:给容器指定一个名称,容器名为 wh-redis。指定名称便于后续操作,例如停止或启动容器时,可以通过名字直接操作容器。

  • -p 6379:6379

    • 将宿主机的端口 6379 映射到容器内的端口 6379
    • 6379 是 Redis 默认的监听端口,因此这个映射会允许你通过宿主机的 6379 端口访问容器内的 Redis 服务。例如,你可以通过 localhost:6379 来连接 Redis。
  • -v /root/RedisData:/data

    • 使用 Docker 的 -v 参数来进行目录挂载,指定宿主机的目录 /root/RedisData 映射到容器中的 /data 目录。
    • Redis 会将它的持久化文件(如 dump.rdbappendonly.aof)保存到 /data 目录中。通过挂载,Redis 的数据将保存到宿主机的 /root/RedisData 目录,从而实现数据持久化,即使容器删除或重启,数据也不会丢失。
  • -d:让容器在后台运行(即“分离模式”),启动后不占用当前终端窗口。

  • --restart unless-stopped

    • 设置容器的重启策略为 unless-stopped,这意味着:
      • 如果容器意外停止(例如由于系统重启或 Docker 守护进程重启),容器将自动重启。
      • 但如果你手动停止容器(例如使用 docker stop 命令),容器将不会自动重启,除非你再次手动启动它。
  • redis:使用官方的 Redis 镜像来创建和启动容器。Docker Hub 上有官方维护的 Redis 镜像,默认使用最新版本的 Redis。

  • --appendonly yes

    • 启用 Redis 的 AOF(Append Only File)持久化模式。AOF 记录每次写操作,确保数据实时保存到磁盘。即使 Redis 崩溃,AOF 也能恢复最近的操作记录。
    • 默认情况下,Redis 只使用 RDB 持久化(定期生成快照)。通过 --appendonly yes,Redis 将每次写入操作记录到 appendonly.aof 文件中,这比仅使用 RDB 持久化更可靠。
  • --requirepass 'Your-password':这个选项会告诉 Redis 容器启动时,设置密码为 Your-password。任何访问 Redis 的客户端都需要提供该密码。

 

MogoDB启动命令

docker run --name wh-mongo -p 27017:27017 -v /root/mongo-data:/data/db -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD='password' -d --restart unless-stopped mongo
  • docker run:启动一个新的 Docker 容器。

  • --name wh-mongo:为新容器指定一个名称 wh-mongo。这样可以方便地使用容器名称进行后续的管理,例如停止、启动或删除容器。

  • -p 27017:27017

    • 将宿主机的端口 27017 映射到容器内的端口 27017
    • 27017 是 MongoDB 的默认端口,这样你可以通过访问 localhost:27017 来连接到 MongoDB 服务。
  • -v /root/mongo-data:/data/db

    • 使用 -v 参数将宿主机的 /root/mongo-data 目录挂载到容器的 /data/db 目录。
    • /data/db 是 MongoDB 默认的数据存储目录。通过挂载,MongoDB 的数据将保存在宿主机的 /root/mongo-data 目录中,从而实现数据的持久化,即使容器停止或删除,数据依然会保留在宿主机上。
  • -e MONGO_INITDB_ROOT_USERNAME=admin:使用 -e 参数设置环境变量 MONGO_INITDB_ROOT_USERNAMEadmin。这会创建一个名为 admin 的管理员用户。

  • -e MONGO_INITDB_ROOT_PASSWORD='password'

    • 使用 -e 参数设置环境变量 MONGO_INITDB_ROOT_PASSWORD'password'。这会将管理员用户 admin 的密码设置为 password
    • 注意:在实际生产环境中,请务必使用强密码以增强安全性。
  • -d:让容器在后台运行(即“分离模式”),这使得命令行不会被容器的输出所占用。

  • --restart unless-stopped

    • 设置容器的重启策略为 unless-stopped。这意味着:
      • 如果容器因错误停止,Docker 将自动重启容器。
      • 如果 Docker 守护进程重启,容器也会自动重启。
      • 如果你手动停止容器(例如通过 docker stop),容器将不会自动重启,除非你手动再次启动它。
  • mongo

    • 使用官方的 MongoDB 镜像来创建和启动容器。默认情况下,它会拉取最新版本的 MongoDB。

 

MySQL启动命令

docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=rootpassword -d -p 3306:3306 -v /path/to/local/mysql/data:/var/lib/mysql --restart unless-stopped mysql:latest
  • --name mysql-container: 给容器命名为 mysql-container
  • -e MYSQL_ROOT_PASSWORD=rootpassword: 设置 MySQL 的 root 用户密码为 rootpassword(请更改为您自己的密码)。
  • -d: 以后台模式运行容器。
  • -p 3306:3306: 将宿主机的 3306 端口映射到容器的 3306 端口,这样可以通过宿主机访问 MySQL。
  • -v /path/to/local/mysql/data:/var/lib/mysql: 将本地的目录(/path/to/local/mysql/data)挂载到容器中的 /var/lib/mysql,确保数据持久化。请将 /path/to/local/mysql/data 替换为您实际使用的本地目录路径。
  • --restart unless-stopped
    • 设置容器的重启策略为 unless-stopped。这意味着:
      • 如果容器因错误停止,Docker 将自动重启容器。
      • 如果 Docker 守护进程重启,容器也会自动重启。
      • 如果你手动停止容器(例如通过 docker stop),容器将不会自动重启,除非你手动再次启动它。
  • mysql:latest: 使用最新版本的 MySQL 镜像。
posted @   xd99  阅读(885)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2022-09-26 MySQL配置
点击右上角即可分享
微信分享提示