java学习day31 (docker)

java学习day31 (docker)一开始认识到 docker 是当时玩 deepseek 本地部署的时候 现在才知道 docker 是本地部署一个必不可少的工具 在学习黑马课程中 在这里我们想用 docker 安装 redis 但是在这里给出详细的解释 对比虚拟机 Docker 轻量太多了 启动只要几秒钟 完全不卡电脑 不会像跑个 VMware 那样让风扇狂转 对比云服务器 不用花一分钱 全靠白嫖自己电脑的性能

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



一开始认识到docker是当时玩deepseek 本地部署的时候,现在才知道,docker是本地部署一个必不可少的工具。

在学习黑马课程中,在这里我们想用docker安装redis

但是在这里给出详细的解释

  • 对比虚拟机: Docker 轻量太多了,启动只要几秒钟, 完全不卡电脑 ,不会像跑个 VMware 那样让风扇狂转。
  • 对比云服务器: 不用花一分钱 ,全靠白嫖自己电脑的性能,而且不用担心公网安全被黑客扫描的问题。

既然你选定了 Docker,那我们就直接进入实操。在 Windows 电脑上用 Docker 跑起官方原生 Linux 版的 Redis,其实极其简单,核心只需要一行命令。

以下是保姆级的落地步骤:

第一步:准备 Docker 环境

如果你电脑上还没有 Docker,你需要去官网下载安装 Docker Desktop for Windows

  • 小提示: 安装过程中,它会提示你开启 WSL2 (Windows 的 Linux 子系统)。放心勾选开启,这就是 Docker 能在 Windows 上不卡顿地跑 Linux 软件的底层核心技术。
  • 安装好并启动后,你的电脑右下角任务栏会多出一个"小鲸鱼"图标。

第二步:拉取 Redis 镜像(进货)

打开你电脑的命令行(CMD 或者 PowerShell),输入这行命令,把 Redis 的"标准集装箱"从官方仓库拉取到你的电脑上:

Bash

 
  
    
    
docker pull redis

(这就好比你去应用商店点了一下"下载",等进度条跑完就行。)

第三步:运行 Redis 容器(开箱使用,最关键的一步!)

镜像下载好之后,继续在命令行输入以下命令(建议直接复制):

Bash

 
  
    
    
docker run -d --name my-redis -p 6379:6379 redis

这行代码的含金量很高,我给你拆解一下,以后你部署 MySQL、Nginx 也是这个套路:

  • docker run: 告诉 Docker "我要运行一个容器了"。
  • -d: 后台运行(Detach)。这样即使你关掉命令行窗口,Redis 依然会在后台默默为你服务。
  • --name my-redis: 给这个容器起个好记的名字,这里叫 my-redis(你可以随便改)。
  • -p 6379:6379: 这是最核心的"端口映射" 。左边是你 Windows 电脑的端口,右边是 Docker 容器里 Redis 的默认端口。这句话的意思是:把 Windows 的 6379端口,打通到容器内部的 6379端口。这样你在 Windows **问 6379,就等于访问了容器里的 Redis。
  • redis: 告诉 Docker 用哪个镜像来运行(就是我们第二步下载的那个)。

第四步:测试连接

现在,原生的 Linux 版 Redis 已经在你的 Windows 上完美运行了!

对于你的 Java 代码(比如苍穹外卖项目)或者任何可视化连接工具(比如 Another Redis Desktop Manager、DataGrip)来说, 它完全感觉不到 Docker 的存在

你只需要像以前一样:

  • IP 地址填: 127.0.0.1(或者 localhost
  • 端口填: 6379
  • 密码: 留空(默认没密码)

直接点击连接,就能瞬间连上!

看到这里我们了解doker有点像虚拟机,但是比虚拟机更轻量

在docker里面有三个重要概念

通过镜像我们可以创建不同的容器,这里的容器就像一台台运行起来的虚拟机,每个容器之间是独立运行的相互之间互不干扰

dockerfile就是一个自动化脚本,他用来创建这个image镜像

这里给个例子如果之前CentOS安装mysql脚本,非常繁琐,

但是用了docker只要下面一条命令就可以了

按照黑马教程的步骤,其实首先我们需要配置一个yum源

这个yum源,你可以把它理解为一个包管理工具 ,就和之前学过maven一样

首先要安装一个yum工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

安装成功后,执行命令,配置Docker的yum源( 已更新为阿里云源):

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

更新yum,建立缓存

sudo yum makecache fast

然后下面我们好好理解一下整个整个过程

Docker 是通过 yum下载的,但 Redis 是通过 Docker 下载的。

我们可以把这个过程想象成"套娃"或者是"盖房子"的过程,具体逻辑如下:

1. 第一层:使用 yum下载 Docker(安装"工厂")

yum 是 Linux 系统的"应用商店"。

  • 操作: 你在终端输入 yum install docker-ce
  • 结果: yum 去阿里云的服务器把 Docker 引擎(软件本体)下载下来。
  • 类比: 这就像是你通过手机的应用商店下载了一个"淘宝" App。

2. 第二层:使用 Docker 下载 Redis(安装"商品")

一旦 Docker 安装好了,它就成了一个独立的"商店"或"工厂"。

  • 操作: 你在终端输入 docker pull redis
  • 结果: 这次不再是 yum 在工作了,而是 Docker 引擎Docker Hub (全球镜像仓库)把 Redis 镜像 下载下来。
  • 类比: 这就像是你打开刚才下载好的"淘宝",在里面搜索并下单了一件"衣服"(Redis)。

为什么不直接用 yum下载 Redis?

虽然 Linux 的 yum 库里也有 Redis,但后端开发现在几乎全部使用 Docker 来运行 Redis。原因有三:

  1. 环境隔离: Docker 版 Redis 运行在独立容器里,不会弄乱你的系统。
  2. 版本切换: 想换 Redis 6.0?docker pull redis:6.0;想换 7.0?docker pull redis:7.0。如果是用 yum 装,卸载和升级会非常痛苦。
  3. 秒级启动: Docker 镜像里已经把所有配置都调好了,下载完直接运行,不需要像传统安装那样去改各种系统配置文件。
  • Linux 服务器(你的云服务器): 就像是广阔的大海 。,docker也必须安装在linux里面不然的话就运行不了

主流有以下两种方式:

  • 做法 A:装 VMware 虚拟机(也就是教程的做法) 这相当于你在陆地上建了一个巨大的玻璃水族馆 (VMware),里面灌满海水(安装 CentOS 系统),然后再把鱼(Docker)放进去。 为什么教程选这种"笨办法"? 因为这种方式最纯粹。讲师为了保证所有学生(不管用的是 Win10、Win11 还是 Mac)操作界面完全一致,且最接近企业里真实的 Linux 服务器环境,所以让大家统一装一个完整的 Linux 虚拟机。
  • 做法 B:用 Docker Desktop (基于 WSL2) 现在很多人在自己电脑上会装 Docker 官方出的 Windows 桌面版。它利用了微软的 WSL2(Windows Subsystem for Linux)。这相当于微软在你的墙壁里暗藏了一个微型水箱 。虽然你表面上看不见 VMware 那种笨重的软件,但它的底层本质依然是跑了一个轻量级的 Linux 虚拟机来支撑 Docker。
  • Docker 引擎(只有一个): 就像是航行在大海上的一艘超级远洋货轮。它负责提供动力、底盘,并管理船上的一切。
  • 容器(有无数个): 就像是货轮上堆叠的一个个标准的钢铁集装箱。Redis 是一个集装箱,MySQL 是一个集装箱,以后你自己写的 Java 微服务也是一个个集装箱。

然后在 云服务器上操作步骤有所不同,今后我们与云服务器对话的操作,基本都在cursor里面完成

最标准的 Cursor 内操作流程

方案就是这 5 步

1.

打开 Cursor

2.

按:

Ctrl + Shift + P

3.

搜索:

Remote-SSH: Connect to Host

4.

连接你的服务器

会打开一个这样的config界面,然后像这个模板一样输入,然后hostname就填写你的公网ip

像上面这样填写好了之后,我在再点这个connect to host 就会出现刚刚我们配置好多吗myserver了

但是这个时候你会产生报错原因是缺少了私钥(在本机里面),和公钥(阿里云服务器)

之前配置git时候就配置了私钥和公钥

之前我们配置git时候就配置了这个私钥 和公钥

所以这里我们选择和git用同一个私钥 这个id_rsa就是一个私钥 而这个pub(public结尾)就是公钥,到时候要配置到服务器上

首先我们先选择

1)先把 config补完整

你现在的配置只有主机地址和用户名,建议改成这样:

Host myserver

HostName 39.104.88.218

User root

IdentityFile C:Usersshy24.sshid_rsa

2)确认服务器上已经安装了你的公钥

这是最关键的一步。

你本地有私钥/公钥,只说明"你有钥匙";

还必须把公钥放到服务器上,服务器才会给你开门。

需要放到服务器上的位置通常是:

  • 如果登录用户是 root

    • /root/.ssh/authorized_keys

也就是说,id_rsa.pub 的内容必须追加到服务器的 authorized_keys 里。

接下来:我们需要登陆阿里云服务器,来配置公钥

  1. 打开 Cursor 下面的终端(Terminal),或者直接打开 Windows 电脑的 PowerShell。
  2. 输入这行命令并回车: ssh root@39.104.88.218
  3. 提示输入密码时,输入你阿里云服务器的 root 密码。(注意: Linux 下输密码屏幕上是什么都不会显示的,连星号都没有,你闭着眼睛盲打完按回车就行)。
  4. 如果你看到界面变成了 [root@xxx ~]# 这种绿色的字,说明你已经成功登录到服务器里了。

先用这个创建一个以文件夹

mkdir -p ~/.ssh

然后

  • 找到一个叫 id_rsa.pub 的文件。(重点: 一定要找带 .pub 后缀的,千万别动那个不带后缀的)。
  • 右键它,选择用记事本打开。
  • 里面是一大串以 ssh-rsa 开头的乱码字符。把这一整行全部复制下来(快捷键 Ctrl+A 全选,然后 Ctrl+C 复制)

在这里我发现选择直接进入阿里云的这个workbench 里面更方便,所以直接省去了之前登陆的步骤(白雪)

刚进入你可能身份是admin

然后用这个

sudo -i 切到root(最高权限)输入whoami 看当前用户 如果想退出到 admin 就输入exit

请确保你现在的终端前面依然是 root@…,然后按顺序一行一行复制下面这 5 个命令,粘贴并回车

第 1 步:建文件夹并设权限

Bash

 
   
    
     
mkdir -p /root/.ssh 

chmod 700 /root/.ssh

 

第 2 步:写入你的专属公钥(我已经帮你拼接好了,直接整段复制)

Bash

 
   
    
     
echo "输入你的公钥">> /root/.ssh/authorized_keys

第 3 步:给公钥文件上锁

Bash

 
   
    
     
chmod 600 /root/.ssh/authorized_keys

第 4 步:修改配置,允许 root 从外面连进来

Bash

 
   
    
     
sed -i 's/^#*PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config

第 5 步:重启 SSH 服务让配置生效

Bash

 
   
    
     
systemctl restart ssh

敲完这 5 步,网页端就可以直接关掉了!

回到 Cursor,点 Connect to SSH 就能直接免密秒进。去享受吧!

5.

连接成功后,再点:

Terminal -> New Terminal

然后在底部终端输入 Linux 命令。

如果你搜不到 Remote-SSH: Connect to Host

那一般说明两种情况:

情况 1:你没装远程 SSH 相关扩展

去左边扩展里搜索:

Remote - SSH

安装它。

最后显示这个就是成功连接了

接下来我们进行正事了,用docker来装redis

哎呀,这里你正好完全说反啦!😂

新手刚接触这两个概念时极其容易搞混。千万记住这个核心关系: 是"用 Docker 来安装 Redis",绝对不是"用 Redis 来安装 Docker"!

用我们之前"大船和集装箱"的比喻来复习一下:

  • Docker 是一艘超级远洋货轮(底盘、平台)。
  • Redis 只是装在这艘船上的其中一个集装箱(软件)。
  • 逻辑顺序必须是:先造好船(安装 Docker),然后再往船上放集装箱(运行 Redis)。

🚨 还有一个极其重要的"坑",我必须提前帮你避开!

黑马的视频教程里,老师用的虚拟机的系统是 CentOS ,所以老师敲的安装命令全是 yum install ...。 但是!从你之前的截图我发现,你的阿里云服务器是 Ubuntu 系统。在 Ubuntu 里,没有 yum 这个东西,它的"应用商店"叫 apt。如果你照着视频敲 yum,系统会直接报错找不到命令。

为了让你丝滑地继续往下学,我把教程里的步骤直接"翻译"成了你这台 Ubuntu 服务器专属的代码。

请确保你在 Cursor 的终端里(前面是 root@...),依次执行下面这 3 步

第 1 步:把"大船"(Docker)造出来

直接复制下面这两行代码,按回车(这是 Ubuntu 专属的 Docker 安装命令,替代视频里的 yum):

Bash

 
    
    
      
apt update 

apt install docker.io -y

 

(等屏幕上字母哗啦啦刷完,停下来就说明大船造好了)

第 2 步:启动 Docker 并设置开机自启

大船造好了得把引擎点火。复制这行回车:

Bash

 
    
    
      
systemctl start docker 

systemctl enable docker

 

第 3 步:用 Docker 下载并运行"集装箱"(Redis)

现在船已经准备就绪了,我们把 Redis 放上去!复制这行回车:

Bash

 
    
    
      
docker run --name my-redis -p 6379:6379 -d redis

运行这一步时候会产生报错,原因是阿里云无法连接国外的网站

既然国外的网站连不上,我们就给 Docker 换一个国内的下载源(镜像加速器)。这就像你以前用 Maven 换阿里云源是一个道理。

请确保你现在是 root 身份,在你的 Cursor 终端里,按顺序复制粘贴下面这 4 步命令,每一步按一次回车

第 1 步:建一个存放配置文件的文件夹(可能已存在,有备无患)

Bash

 
    
    
      
mkdir -p /etc/docker

第 2 步:写入国内的加速镜像地址(直接把下面这整段一次性复制粘贴进去按回车)

Bash

 
    
    
      
cat > /etc/docker/daemon.json < 
          

{ "registry-mirrors": [

"https://dockerpull.com", "https://docker.m.daocloud.io", "https://docker.1panel.live" 

] } EOF

 

(这段代码的意思是把几个目前国内最快、最稳定的 Docker 下载源写进配置文件里)

第 3 步:让系统重新加载配置

Bash

 
    
    
      
systemctl daemon-reload

第 4 步:重启 Docker 让新源生效

Bash

 
    
    
      
systemctl restart docker

🎉 再次出海!

好啦,现在你的 Docker 已经配好国内的高速通道了。重新输入你刚才失败的那条命令:

Bash

 
    
    
      
docker run --name my-redis -p 6379:6379 -d redis

这次你会看到进度条"唰唰唰"地往下走,几秒钟就能下载完并启动成功了!成功之后,记得按照咱们之前说的,去阿里云控制台把 6379 端口放行哦!去试试吧!


大功告成! 敲完这三步,你的服务器上就已经有 Docker 了,并且 Docker 里面正在完美运行着 Redis。

接下来你就可以跟着黑马视频里的节奏,去配置云服务器的安全组(开放 6379 端口),然后用本地电脑连接它啦!去终端里敲代码吧,遇到任何报错直接发给我!

小讯
上一篇 2026-04-26 19:12
下一篇 2026-04-26 19:10

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/281031.html