Mac安装docker desktop

一、背景

最近在学习Spring  AI,于是在GitHub上找了个开源项目,个人觉得还是比较适合有Java基础和AI基础的同学学习的。GitHub地址如下:
https://github.com/qifan777/dive-into-spring-ai

但是看了下运行环境需要

  • MySQL 8

  • Redis-Stack

  • neo4j 5+

不想直接安装在Mac电脑上,就想到在docker中安装,下面就介绍如何安装docker desktop同时安装上面的中间件。

二、本机环境

Mac Book Pro  Apple M1 16GB 512GB,建议存储空间预留 40GB 以上。

三、docker desktop下载

进入官网Docker Desktop: The #1 Containerization Tool for Developers | Docker

选择对应的版本进行下载

这里选择第一个进行下载,下载后 双击打开文件 ——》将docker desktop图标拖入applications文件夹中——》等待文件拷贝完成。

四、配置docker desktop

1. 启动后,状态栏会出现docker的🐳图标

2. 首次运行会提示接受docker 订阅服务协议,点击同意

3. 登录或创建docker hub账户,可选。

4. 检查默认配置

  • 推荐设置:自动配置CPU及内存等(我选的这个)
  • 高级设置:手动分配资源

五、验证安装

打开终端,输入以下命令验证docker是否安装成功

docker --version
docker compose version
docker run hello-world

预期输出

  • docker --version  显示版本:Docker version 28.1.1 (结合自己下载的版本号)
  • docker compose version 显示版本:Docker Compose version v2.35.1-desktop.1
  • docker run hell-world 拉取镜像并运行:Hello from Docker! 

六、中间件安装

 直接在docker hub中搜索,然后进行下载

启动MySQL容器

docker run -p 3306:3306 \--name mysql \-v mysql_data:/var/lib/mysql \-v mysql_conf:/etc/mysql/conf.d \-e MYSQL_ROOT_PASSWORD=123456 \-d mysql/mysql-server:latest

启动Redis stack

docker run -d \
--name redis-stack \
--restart=always \
-v redis-data:/data \
-p 6379:6379 \
-p 8001:8001 \
-e REDIS_ARGS="--requirepass 123456" redis/redis-stack:latest

 启动neo4j

docker run \-d \-p 7474:7474 -p 7687:7687 \-v neo4j-data:/data -v neo4j-data:/plugins \--name neo4j \-e NEO4J_apoc_export_file_enabled=true \-e NEO4J_apoc_import_file_enabled=true \-e NEO4J_apoc_import_file_use__neo4j__config=true \-e NEO4JLABS_PLUGINS=\[\"apoc\"\] \-e NEO4J_dbms_security_procedures_unrestricted=apoc.\\\* \neo4j

其他应用部署可参考

mac用docker部署应用 · 语雀

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/83729.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【算法深练】二分答案:从「猜答案」到「精准求解」的解题思路

目录 前言 二分求最小值 1283. 使结果不超过阈值的最小除数 2187. 完成旅途的最少时间 1011. 在 D 天内送达包裹的能力 875. 爱吃香蕉的珂珂 3296. 移山所需的最少秒数 475. 供暖器 2594. 修车的最少时间 1482. 制作 m 束花所需的最少天数 3048. 标记所有下标的最早秒…

基于RK3588,飞凌教育品牌推出嵌入式人工智能实验箱EDU-AIoT ELF 2

在AIoT技术驱动产业变革的浪潮中,嵌入式人工智能已成为工业物联网、智慧交通、智慧医疗等领域创新突破的关键引擎。飞凌嵌入式教育品牌ElfBoard立足产业前沿,重磅推出嵌入式人工智能实验箱EDU-AIoT ELF 2,以“软硬协同、产教融合”为设计理念…

51单片机-IO扩展模块 pcf8575

PCF8575介绍 PCF8575 是 NXP(原飞利浦半导体)生产的一款通用 IC 总线 I/O 扩展器芯片,主要用于微控制器(如 Arduino、STM32 等)的 I/O 端口扩展。 主要特性 16位并行 I/O 端口:可以配置为输入或输出 IC 总…

Python3 学习(菜鸟)-02基本数据类型

1.多变量赋值 多变量被赋予相同的数值 多变量被赋予不同的数值 2.数值运算 除法 /:返回一个浮点数 除法 //:返回一个整数 3.列表 加号和星号 加号 是列表连接运算符 星号 * 是重复操作 list [ abcd, 786 , 2.23, runoob, 70.2 ] # 定义一个…

『uniapp』搜索功能+商品列表滚动效果(详细图文注释)

目录 预览效果准备工作代码分析与思路1. 页面结构主容器:`menber-container`搜索框:`u-search-inner`菜单:`u-menu-wrap`2. 数据模型`data()` 中的数据定义:3. 生命周期`onLoad(options)``onReady()``mounted()`4. 方法`search()``searchClear()``swichMenu(index)``getElRe…

微服务--消息队列mq

1. mq简介 消息队列是分布式系统中的异步通信中间件,采用"生产者-消费者"模型实现服务间解耦通信 核心作用 服务解耦异步处理流量削峰数据同步最终一致性 消息队列模式 发布/订阅模式:一对多广播工作队列模式:竞争消费死信队列…

第26节 Node.js 事件

Node里很多对象会分发事件: 每次有连接的时候net.Server会分发事件,当文件打开的时候fs.readStream会分发事件。所有能分发事件的对象都是 events.EventEmitter的实例。通过require("events");能访问这个模块。 一般来说,事件名都…

LangChain + MCP + vLLM + Qwen3-32B 构建本地私有化智能体应用

一、私有化智能体应用 在本专栏的前面文章基于Spring AI MCP实现了本地 ChatBI 问答应用,本文还是依据该场景,采用 LangChain vLLM Qwen3-32B MCP 技术栈构建该流程,整体过程如下图所示: 实现效果如下所示: 关于 M…

AKS升级路线最佳实践方案

前言 Kubernetes 社区大约每 4 个月发布次要版本,次要版本包括新增功能和改进。补丁发布更为频繁(有时每周都会发布),适用于次要版本中的关键 Bug 修复。修补程序版本包括针对安全漏洞或主要 bug 的修复。对于受支持版本列表以…

树莓派智能小车基本移动实验指导书

1.安装LOBOROBOT库函数 LOBOROBOT.py代码如下: #!/usr/bin/python # -*- coding: utf-8 -*-import time import math import smbus import RPi.GPIO as GPIODir [forward,backward, ]class PCA9685:# Registers/etc.__SUBADR1 0x02__SUBADR2 …

如何对目标检测算法RT-DETR进行创新和改进:突破瓶颈,提升性能!

更多精彩,详见文末~~~ 在目标检测的高速发展中,RT-DETR作为DETR(DEtection TRansformer)的高效变体,凭借其优异的性能和较快的推理速度,已经成为许多实际应用中的首选算法。然而,尽管RT-DETR在…

Java-String

前言 package com.kjxy.st;public class TestString1 {public static void main(String[] args) {String s1 "hello";String s2 "hello";String s3 new String("hello");String s4 new String("hello");System.out.println(s1 s2…

计算机组成原理——C/存储系统

🌈个人主页:慢了半拍 🔥 创作专栏:《史上最强算法分析》 | 《无味生》 |《史上最强C语言讲解》 | 《史上最强C练习解析》|《史上最强C讲解》|《史上最强计组》|《史上最强数据结构》 🏆我的格言:一切只是时…

什么是电输运性能

电输运性能‌是指材料在电场作用下,电子在材料中传输的能力和效率。具体来说,电输运性能包括以下几个方面: ‌电子的自由移动性‌:导体中的电子具有较大的自由移动能力,这是由于导体中的原子或分子结构具有一定的松散…

k3s入门教程(二)部署前后端分离程序

文章目录 部署基础服务部署Redis部署MySQL端口转发测试 运行与构建前后端镜像构建后端镜像 docker build -t ruoyi-admin:v3.8 .构建前端镜像 docker build -t ruoyi-ui:v3.8 .创建私库,推拉镜像 前后端应用部署后端应用部署前端应用部署 启动顺序与初始化容器修改前…

Seata如何与Spring Cloud整合?

🔧 一、整合核心步骤 1. 启动 Seata Server(TC) 环境准备: 修改 registry.conf,指定注册中心(如 Nacos)和配置中心:registry {type "nacos"nacos {serverAddr "l…

Python惰性函数与技术总结-由Deepseek产生

在Python中,惰性(Lazy)技术指延迟计算直到真正需要结果时才执行,常用于优化内存和性能。以下是常见的惰性函数和技术: 1. 生成器(Generators) 原理:使用 yield 返回迭代结果&#x…

轮廓 裂缝修复 轮廓修复 填补孔洞 源代码

目录 1. 形态学闭合操作填补小孔洞 完整代码: 使用 Douglas-Peucker 算法对轮廓进行多边形逼近 2.裂缝修复 轮廓修复 轮廓补全 函数封装 调用示例: 1. 形态学闭合操作填补小孔洞 完整代码: import cv2 import numpy as np# 创建模拟图像(白色区域 + 多个不规则黑洞)…

HTTP1.1

HTTP基础知识 HTTP(HyperText Transfer Protocol)是用于传输超文本 的应用层协议,采用客户端-服务器 模型。 客户端(如浏览器)发起请求,服务器响应并返回数据。 工作原理 客户端发送HTTP请求至服…

【Linux教程】Linux 生存指南:掌握常用命令,避开致命误操作

Linux 常用操作命令:避免误操作指南 在 Linux 系统中,熟练掌握常用操作命令是高效工作的基础,但同时也要警惕误操作带来的风险。无论是部署程序、配置防火墙、管理端口还是处理进程,一个小小的失误都可能导致系统故障、数据丢失等…