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 服务才能使更改生效
相关推荐
linux修理工14 小时前
关闭67端口
运维
Trouvaille ~15 小时前
【Linux】高并发服务器的起点:五种 IO 模型与非阻塞 IO 本质解析
linux·运维·服务器·c++·操作系统·io模型·同步异步
Trouvaille ~15 小时前
【Linux】select 多路转接深度剖析:从位图原理到字典服务器实现
linux·运维·服务器·c++·select·多路转接·io模型
_OP_CHEN15 小时前
【Linux系统编程】(三十五)揭秘 Linux 信号产生:从终端到内核全解析
linux·运维·操作系统·进程·c/c++·信号·信号产生
mzhan01715 小时前
Linux: 重新理解调度
linux·运维·服务器
SakitamaX15 小时前
haproxy七层代理介绍与实验
linux·运维·服务器
only_Klein15 小时前
Ansible变量详解
运维·自动化·ansible
武帝为此15 小时前
【Linux strace命令介绍】
linux·运维·策略模式
请为小H留灯15 小时前
Docker 命令速通指南:从入门到封神的 100 + 必学指令,一篇搞定容器全操作
运维·docker·容器
一只鹿鹿鹿16 小时前
数据治理文档(word原件)
java·运维·spring boot·后端