1 Docker 中安装 MySQL
并将数据挂载到指定的本地目录,可以按照以下步骤进行:
- 拉取 MySQL 8.0 镜像打开终端,运行以下命令从 Docker Hub 拉取 MySQL 8.0 的官方镜像:
docker pull mysql:8.0
- 创建并启动容器执行下面的命令创建并启动 MySQL 容器,注意要将
<your_password>替换为你实际想要设置的 MySQL 数据库密码:
docker run -d \
--name mysql \
-e MYSQL_ROOT_PASSWORD=mysql@123qwe! \
-p 3306:3306 \
-v /usr/local/java/docker/mysql:/var/lib/mysql \
mysql:8.0
各项参数解释:
-d:使容器在后台运行,也就是以守护进程模式运行,脱离终端交互。--name my_mysql_8:给容器指定一个名称,方便后续识别与管理。-e MYSQL_ROOT_PASSWORD=<your_password>:用于设置 MySQL 数据库的超级用户(root)密码。-p 3306:3306:将容器内部的 3306 端口(MySQL 默认端口)映射到主机的 3306 端口,如此一来,就能够从主机访问容器内的数据库了。- root / mysql
2 Docker 安装 PostgreSQL
- 拉取镜像打开终端,输入以下命令从 Docker Hub 拉取 PostgreSQL 11.2 镜像:
docker pull postgres:11.2
- 创建并启动容器运行下面的命令创建容器,注意把
<your_password>替换为你想要设置的数据库密码:
docker run -d \
--name my_postgres_11_2 \
-e POSTGRES_PASSWORD=postgresql \
-p 5432:5432 \
-v /Users/walker/Documents/docker/postgresql:/var/lib/postgresql/data \
postgres:11.2
解释一下各参数:
-d:让容器在后台持续运行,也就是守护进程模式,这样终端关闭后容器依然正常运转。--name my_postgres_11_2:给容器起一个名字,方便后续查找、管理,比如停止、重启容器。-e POSTGRES_PASSWORD=<your_password>:设定 PostgreSQL 数据库的超级用户密码,访问数据库时会用到。-p 5432:5432:将容器内部的 5432 端口(PostgreSQL 默认端口)映射到 Mac 主机的 5432 端口,如此一来,主机便能访问容器内的数据库了。-v /Users/walker/Documents/docker/postgresql:/var/lib/postgresql/data:关键的挂载操作,冒号左边是 Mac 本地目录,右边是容器内存储 PostgreSQL 数据的位置,借此达成数据持久化,容器删除时,数据依旧保留在本地指定目录。-v /Users/walker/Documents/docker/mysql:/var/lib/mysql:这是数据挂载部分,冒号左边是 Mac 本地的目录路径,右边是容器内 MySQL 存储数据的目录路径,通过这种挂载方式,容器内数据库产生的数据将会持久化存储在本地指定目录下,避免容器删除后数据丢失。
3 Docker 安装 Redis
- 拉取 Redis 镜像:
打开终端,运行以下命令从 Docker Hub 拉取 Redis 官方镜像:
bash
-
- docker pull redis
- 启动 Redis 容器并挂载目录、设置密码:
-
- 运行如下命令启动 Redis 容器:
bash
docker run -d \
-p 6379:6379 \
-v /Users/walker/Documents/docker/redis:/data \
--name my-redis \
redis redis-server --appendonly yes --requirepass "123456"
-
- 参数解释:
-
-
-
-d:使容器在后台以守护进程模式运行。 -
-p 6379:6379:将主机的 6379 端口映射到容器内的 6379 端口,方便从本地访问 Redis 服务。 -
-v /Users/walker/Documents/docker/redis:/data:把本地/Users/walker/Documents/docker/redis目录挂载到容器内的/data目录,用于持久化存储 Redis 数据。 -
--name my-redis:为容器指定一个名称,后续管理容器时更加方便识别。 -
redis redis-server --appendonly yes --requirepass "your_password":redis是镜像名,后面跟着启动 Redis 服务的命令,--appendonly yes表示开启 AOF 持久化模式,--requirepass "your_password"则用于设置 Redis 服务的访问密码,把your_password替换成你实际想用的密码。
-
-
在 Mac 上使用 Docker 安装 Minio 并挂载指定目录,可参照以下步骤:
4 docker安装minio
- 拉取 Minio 镜像:
-
- 打开终端,运行如下命令,从 Docker Hub 拉取 Minio 的官方镜像:
- 收起bash
docker pull minio/minio
- 启动 Minio 容器并挂载目录:
-
- 执行下面的命令来启动 Minio 容器:
- 收起bash
docker run -d \
-p 9000:9000 \
-p 9001:9001 \
-v /Users/walker/Documents/docker/minio:/data \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=123456789" \
--name my-minio \
minio/minio server /data --console-address ":9001"
-
- 对各参数进行说明:
-
-
-d:让容器在后台持续运行,也就是守护进程模式 。-p 9000:9000:将宿主机(Mac)的 9000 端口映射到容器内的 9000 端口,此端口用于 Minio 的 API 访问。-p 9001:9001:把宿主机的 9001 端口映射到容器内的 9001 端口,该端口用于访问 Minio 的控制台。-v /Users/walker/Documents/docker/minio:/data:将本地/Users/walker/Documents/docker/minio目录挂载到容器内的/data目录,Minio 存储的数据将会保存到这个挂载的目录中,实现数据持久化。-e "MINIO_ROOT_USER=admin":设置 Minio 的根用户名,这里设置为admin,你可以按需替换。-e "MINIO_ROOT_PASSWORD=password":设置 Minio 的根用户密码,设为password,同样可按需更改。密码记住长度要大于8位--name my-minio:给容器取一个名字,方便后续识别与管理,这里叫my-minio。minio/minio server /data --console-address ":9001":这是 Minio 容器启动时运行的内部指令,指定在/data目录启动服务,并让控制台监听在:9001端口。
-
验证安装:
-
-
打开浏览器,访问
http://127.0.0.1:9001,使用刚才设置的用户名(admin)和密码(password)登录 Minio 控制台。如果能成功登录并查看 Minio 的界面,就说明安装与挂载都成功了。
-
在 Mac 上使用 Docker 安装 MongoDB,挂载指定目录并设置密码,可参考以下步骤:
5 Docker 安装MongDB
- 拉取 MongoDB 镜像
-
- 打开终端,执行以下命令,从 Docker Hub 拉取 MongoDB 的官方镜像:
- 收起bash
docker pull mongo
- 启动 MongoDB 容器
-
- 通过下面的命令启动容器,该命令同时完成目录挂载与密码设置:
- 收起bash
docker run -d \
-p 27017:27017 \
-v /Users/walker/Documents/docker/mongodb:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=123456 \
--name my-mongodb \
mongo --auth
-
- 对各参数解释如下:
-
-
-d:使容器在后台以守护进程模式运行。-p 27017:27017:将主机的 27017 端口映射到容器内的 27017 端口,方便从本地访问 MongoDB 服务。-v /Users/walker/Documents/docker/mongodb:/data/db:把本地/Users/walker/Documents/docker/mongodb目录挂载到容器内的/data/db目录,MongoDB 的数据文件会存储在此处,确保数据持久化。-e MONGO_INITDB_ROOT_USERNAME=admin:设置 MongoDB 的初始 root 用户名为admin,你可以按需更改。-e MONGO_INITDB_ROOT_PASSWORD=password:设置 MongoDB 的初始 root 用户密码为password,同样可以替换成你想要的密码。--name my-mongodb:为容器命名,后续识别和管理容器更方便。mongo --auth:指定使用 MongoDB 镜像启动容器,并开启认证模式,这样只有提供正确用户名和密码的用户才能访问数据库。
-
- 验证安装
-
- 打开终端,输入以下命令连接到 MongoDB:
- 收起bash
mongo --host 127.0.0.1 --port 27017 -u admin -p 123456 --authenticationDatabase admin
-
- 如果成功进入 MongoDB shell,会显示类似
MongoDB shell version的欢迎信息,这就说明 MongoDB 安装成功,挂载操作无误,且密码设置生效了。
- 如果成功进入 MongoDB shell,会显示类似