mac安装docker基础应用

313 阅读7分钟

1 Docker 中安装 MySQL

并将数据挂载到指定的本地目录,可以按照以下步骤进行:

  1. 拉取 MySQL 8.0 镜像打开终端,运行以下命令从 Docker Hub 拉取 MySQL 8.0 的官方镜像:

docker pull mysql:8.0

  1. 创建并启动容器执行下面的命令创建并启动 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

  1. 拉取镜像打开终端,输入以下命令从 Docker Hub 拉取 PostgreSQL 11.2 镜像:

docker pull postgres:11.2

  1. 创建并启动容器运行下面的命令创建容器,注意把 <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

  1. 拉取 Redis 镜像

打开终端,运行以下命令从 Docker Hub 拉取 Redis 官方镜像:

bash

    • docker pull redis
  1. 启动 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

  1. 拉取 Minio 镜像
    • 打开终端,运行如下命令,从 Docker Hub 拉取 Minio 的官方镜像:
  1. 收起bash
docker pull minio/minio
  1. 启动 Minio 容器并挂载目录
    • 执行下面的命令来启动 Minio 容器:
  1. 收起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

  1. 拉取 MongoDB 镜像
    • 打开终端,执行以下命令,从 Docker Hub 拉取 MongoDB 的官方镜像:
  1. 收起bash
docker pull mongo
  1. 启动 MongoDB 容器
    • 通过下面的命令启动容器,该命令同时完成目录挂载与密码设置:
  1. 收起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 镜像启动容器,并开启认证模式,这样只有提供正确用户名和密码的用户才能访问数据库。
  1. 验证安装
    • 打开终端,输入以下命令连接到 MongoDB:
  1. 收起bash
mongo --host 127.0.0.1 --port 27017 -u admin -p 123456 --authenticationDatabase admin
    • 如果成功进入 MongoDB shell,会显示类似MongoDB shell version的欢迎信息,这就说明 MongoDB 安装成功,挂载操作无误,且密码设置生效了。