win11下部署elastic9.0+常见问题及解决方法(续)

接上篇

在wsl ubuntu上安装docker引擎:

首先卸载旧版本:

bash 复制代码
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc | cut -f1)
 

如下图所示:

清理残留配置和数据

卸载后,建议清理残留的配置文件和数据目录:

bash 复制代码
sudo apt autoremove
sudo rm -rf /var/lib/docker
sudo rm -rf /etc/docker
 

验证卸载是否完成

检查是否仍有 Docker 相关进程或文件残留:

bash 复制代码
dpkg -l | grep -i docker
ps aux | grep -i docker
 

如果仍有残留,可以手动删除相关包:

bash 复制代码
sudo apt purge <package-name>
 

可选:完全删除 Podman 相关组件

如果不再需要 Podman,可以一并卸载:

bash 复制代码
sudo apt remove podman podman-docker
 

注意事项

  • 该命令会卸载列出的所有 Docker 相关包,确保不再需要它们。
  • 如果使用了自定义配置或数据卷,请提前备份 /var/lib/docker 等重要目录。

安装 Docker 官方 GPG 密钥

更新系统软件包列表确保获取最新版本信息:

复制代码
sudo apt update

安装必要的证书和工具以支持 HTTPS 传输:

复制代码
sudo apt install ca-certificates curl

创建密钥环目录并设置权限:

复制代码
sudo install -m 0755 -d /etc/apt/keyrings

下载 Docker 官方 GPG 密钥并保存到指定路径:

复制代码
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

调整密钥文件权限确保可读性:

复制代码
sudo chmod a+r /etc/apt/keyrings/docker.asc

配置 Docker APT 仓库源

通过管道命令写入仓库源配置(自动匹配当前系统版本):

复制代码
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF

更新软件包索引

刷新 APT 缓存使新配置生效:

复制代码
sudo apt update

关键注意事项:

  • 上述命令适用于 Ubuntu/Debian 系统
  • 需使用管理员权限执行所有命令
  • $UBUNTU_CODENAME 变量会自动检测当前系统版本代号
  • 若遇到权限问题可尝试在命令前添加 sudo -i 切换至 root 环境

整体操作如下图所示:

安装 Docker 软件包

在不同操作系统上安装 Docker 的方法有所不同,以下是安装步骤。

Ubuntu/Debian 系统 更新软件包索引并安装依赖工具:

bash 复制代码
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Docker服务启动验证

Docker服务在安装完成后会自动启动。

通过以下命令检查Docker运行状态:

bash 复制代码
sudo systemctl status docker

若服务未运行,可通过以下命令手动启动:

bash 复制代码
sudo systemctl start docker

设置Docker开机自启:

bash 复制代码
sudo systemctl enable docker

安装完成后,运行以下命令验证安装版本:

bash 复制代码
sudo docker --version

验证安装是否成功

运行 hello-world 镜像以验证 Docker 是否安装成功:

bash 复制代码
sudo docker run hello-world
 

如果安装正确,终端会显示以下类似信息:

applescript 复制代码
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
 

如果报Unable to find image 'hello-world:latest' locally错误,则重新拉取一下镜像,如下图所示:

本地设置 Elasticsearch 和 Kibana

在命令行中运行 start-local 脚本即可完成本地 Elasticsearch 和 Kibana 的配置。参照官方文档:

curl -fsSL https://elastic.co/start-local | sh

此时可能会报超时的错误,curl: (28) Failed to connect to elastic.co port 443 after 139070 ms: Couldn't connect to server

原因就是网址https://elastic.co/start-local访问不了

解决方法:

改为用:curl -fsSL https://www.elastic.co/start-local | sh

如下图所示:

执行过程中如果遇到权限问题:

permission denied while trying to connect to the docker API at unix:///var/r

则按照如下步骤解决:

添加用户到 Docker 组并应用更改

执行以下命令将指定用户添加到 docker 组中:

bash 复制代码
sudo gpasswd -a 【你的用户】 docker
 

激活新的组权限

为了使组权限变更立即生效,执行以下命令:

bash 复制代码
newgrp docker
 

注意事项

  • 确保替换命令中的 【你的用户】 为实际的用户名
  • 如果遇到权限问题,可能需要注销并重新登录系统
  • 在某些系统上,可能需要重启 Docker 服务才能使更改生效
相关推荐
i建模3 小时前
在 Rocky Linux 上安装轻量级的 XFCE 桌面
linux·运维·服务器
Data_Journal3 小时前
Scrapy vs. Crawlee —— 哪个更好?!
运维·人工智能·爬虫·媒体·社媒营销
YMWM_4 小时前
不同局域网下登录ubuntu主机
linux·运维·ubuntu
zmjjdank1ng4 小时前
restart与reload的区别
linux·运维
Suchadar4 小时前
Docker常用命令
运维·docker·容器
你才是臭弟弟4 小时前
MinIo开发环境配置方案(Docker版本)
运维·docker·容器
Bruk.Liu4 小时前
Gitea Actions 的概念及基础使用
运维·ci/cd·持续集成
yanlou2334 小时前
[C++/Linux HTTP项目] HTTP服务器基于muduo高性能服务器搭载【深入详解】
运维·服务器·http·muduo库·http高性能服务器
杨江4 小时前
frp macbook 的18789到 公网服务器上,访问报错:disconnected (1008): unauthorized:
运维
天空属于哈夫克34 小时前
企微第三方 RPA API:非官方接口与官方接口的差异解析及选型建议
运维·服务器