
类型:虚拟化技术
简介:基于操作系统层级的虚拟化技术,将软件与其依赖项打包为容器。
OrbStack是一款适用于macOS系统的工具,能让用户快速、轻便且简单地运行Docker容器和Linux机器,堪称增强版的WSL与Docker Desktop替代品,所有功能都整合在一个易于操作的应用程序中。下面主要介绍OrbStack安装部署Docker的具体方法。
以下是OrbStack客户端界面:
一、安装MySQL
1、拉取镜像
通过以下命令搜索并获取MySQL镜像,同时查看本地已有的镜像:
docker search mysql // 搜索MySQL相关镜像
docker pull mysql // 拉取MySQL镜像
docker images // 查看本地已下载的镜像
2、创建数据卷
为实现MySQL数据的持久化存储,需将配置、数据和日志文件挂载到数据卷,采用具名挂载(主机数据卷名称:容器文件路径)的方式管理。分别创建用于挂载数据文件、配置文件和日志文件的数据卷:
docker volume create mysql-data // 数据文件数据卷
docker volume create mysql-config // 配置文件数据卷
docker volume create mysql-log // 日志文件数据卷
3、创建并运行容器
执行以下命令创建并启动 MySQL 容器:
参数说明:
- -id:让容器在后台运行;
- –name=mysql:将容器命名为 mysql;
- -v:挂载数据卷,分别关联配置文件、数据文件和日志文件目录;
- -p 3307:3306:将主机 3307 端口映射到容器 3306 端口;
- -e:设置环境变量,包括 root 用户密码和语言环境。
二、通过容器访问MySQL
docker exec -it mysql bash // 进入容器内部
mysql -uroot -p // 登录MySQL,输入设置的密码即可
1、安装Redis
拉取镜像:
docker pull redis // 拉取Redis镜像
2、创建数据卷
docker volume create redis-config // 配置文件数据卷
docker volume create redis-data // 数据文件数据卷
3、修改配置文件
可在宿主机对应数据卷路径下创建或修改Redis配置文件,确保与容器内挂载路径对应。
4、创建并运行容器
参数说明:
- –name redis:指定容器名称为 redis;
- -v:挂载数据卷,关联配置文件和数据目录(与配置文件中路径保持一致);
- -p 6379:6379:端口映射;
- -e LANG=C.UTF-8:设置语言环境,避免中文存储问题。
最后指定以root身份运行redis-server,并加载配置文件。
5、通过容器执行Redis命令
docker start redis // 启动Redis容器
docker ps | grep redis // 查看Redis运行状态
docker exec -it redis bash // 进入容器内部
redis-cli // 进入Redis控制台,进行操作
6、测试连接
在Redis控制台输入简单命令(如set test 123、get test),验证连接是否正常。
三、安装MongoDB
1、拉取镜像并创建容器
docker pull mongo // 拉取MongoDB镜像
docker run -id \
–name mongo \
-v mongo-data:/data/db \
-v mongo-config:/data/configdb \
–privileged \
-p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=123456 \
mongo –auth
参数说明:
- –name:指定容器名称为 mongo;
- -v:挂载数据存储和配置目录;
- –privileged:赋予 root 权限;
- -p 27017:27017:端口映射;
- -d:后台运行;
- –auth:开启认证(默认 MongoDB 无需认证);
- -e:设置环境变量,指定管理员用户名和密码。
2、添加用户(创建普通用户)
docker exec -it mongo /bin/bash // 进入容器
mongo –port 27017 -u admin -p 123456 –authenticationDatabase admin // 用管理员身份登录
// 登录后可执行命令创建具有读写权限的普通用户
3、安装Kafka
最新版Kafka内置ZooKeeper客户端库,用于管理主题和分区,无需额外安装ZooKeeper,可直接部署。
拉取镜像并创建网络:
docker pull wurstmeister/kafka // 拉取Kafka镜像
docker network create kafka-net // 创建专用网络
启动Kafka服务实例:
docker run -d \
–name kafka \
–network kafka-net \
-p 9092:9092 \
-e ALLOW_PLAINTEXT_LISTENER=yes \
bitnami/kafka:latest
测试Kafka生产者和消费者:
进入容器内部:
docker exec -it kafka /bin/bash
cd /opt/bitnami/kafka/bin/ // 进入Kafka命令目录
开启两个终端,分别模拟生产者和消费者:
生产者(发送消息):
./kafka-console-producer.sh –broker-list localhost:9092 –topic test-topic
消费者(接收消息):
./kafka-console-consumer.sh –bootstrap-server localhost:9092 –topic test-topic –from-beginning
在生产者终端输入消息,消费者终端可实时接收,验证Kafka功能正常。
四、Docker常用命令汇总
1、镜像相关
docker search <IMAGE NAME>:搜索镜像
docker pull <IMAGE NAME>:拉取镜像
docker images:查看本地所有镜像
docker rmi <IMAGE ID>:删除指定镜像(可替换为镜像名称)
2、容器相关
docker ps -a:查看所有容器(包括停止的)
docker inspect <CONTAINER ID>:查看容器详细信息
docker start <CONTAINER ID>:启动容器
docker restart <CONTAINER ID>:重启容器
docker kill <CONTAINER ID>:强制停止容器
docker stop <CONTAINER ID>:停止运行中的容器
docker logs <CONTAINER ID>:查看容器日志
docker rm -f <CONTAINER ID>:强制删除容器
注:以上命令中的<CONTAINER ID>均可替换为容器名称。







