AI是良师益友,跟他学Ubuntu server2604搭建docker环境

还是因为不够强,否则不会失业。

大家好我是大龄程序员码农阿峰。今年47周岁,79年的。我差点失业了,我的linux技能现在好像把我保住了。我的感觉是不够强。所以还要继续学。今天展示一下我跟AI学Ubuntu server2604搭建docker环境。

image

 

image

 image

image

image

 

image

 

image

 

image

 

image

image

 

    

 宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒。 

 

附安装过程(附件在这里!

9踩坑与解决记录(本次实测)

现象原因处理方式
新装虚拟机 ssh -p 2222 ... 报 Connection refused / 连接超时 系统默认没有 openssh-server,或漏了 systemctl enable ssh 导致重启后服务未启动;ufw 为 active 时也可能拦截 22 在 VirtualBox 本地控制台执行 sudo apt install -y openssh-server 与 sudo systemctl enable ssh;ufw 开启时再执行 sudo ufw allow OpenSSH
服务名写成 sshd 提示 Unit not found Ubuntu / Debian 的单元名是 ssh 改用 sudo systemctl enable ssh / systemctl status ssh
download.docker.com 返回 000 / 连接被重置 当前网络无法直连 Docker 官方下载站 改用阿里云 docker-ce 镜像站配置官方仓库,GPG 密钥也从该镜像获取
hub.docker.com 不通,但 docker pull 需要拉镜像 Registry 访问受阻 在 daemon.json 配置多个 registry-mirrors,实测 hello-world、alpine 均拉取成功
grep /etc/apt/sources.list 没有输出 Ubuntu 26.04 使用 deb822 格式 *.sources 查看 /etc/apt/sources.list.d/ubuntu.sources,无需修复
官方仓库是否有 resolute(26.04)的包 新系统代号可能尚未同步 预检 dists/resolute/stable/binary-amd64/Packages.gz,确认有 29.x 版 docker-ce 后再安装
加入 docker 组后仍提示 permission denied 旧会话的用户组缓存未刷新 重新登录 SSH,或执行 newgrp docker
浏览器提示证书不安全 Portainer 9443 使用自签证书 本机环境选择继续访问;生产环境可在 UI 的 SSL 设置中换成自有证书
Portainer 初始化提示 token 无效 首次设置令牌有时效 docker restart portainer 后重新取日志中的 setup_token
APT 下载 102 MB 耗时约 5 分钟 网络速率约 326 kB/s 属正常,等待即可,勿中断 apt 进程

10本次结果快照与脚本清单

检查项结果
操作系统 Ubuntu 26.04.1 LTS (resolute) x86_64,3.3 Gi 内存 / 25 G 磁盘
SSH 前置(实测) openssh-server 1:10.2p1-2ubuntu3.8;ssh.service 与 ssh.socket 均 enabled + active,22 端口监听;ufw 为 inactive
Docker 29.7.2(客户端与服务端一致),overlayfs,cgroup systemd,active + enabled
插件 Compose v5.5.0、buildx 0.36.1、containerd.io 2.3.3
权限 afeng124 在 docker 组,新会话免 sudo
镜像加速 3 个节点写入 /etc/docker/daemon.json,日志轮转 100m × 3
Portainer CE 2.45.3 LTS,容器 portainer,卷 portainer_data,restart=always
Web UI https://127.0.0.1:9443(宿主机 HTTP 200,/api/status 返回 2.45.3)

以下脚本已与本文档放在同一目录 D:\work\2026\ubuntu_2604\,可按需复用:

  • install_ssh.sh — 全新虚拟机本地控制台安装并启用 SSH(须在 VirtualBox 窗口内执行,不能经 ssh_run.py 下发)
  • ssh_run.py — 通过口令登录虚拟机并远程执行脚本(支持 --sudo、--file)
  • probe_vm.sh / probe_sources.sh / probe_repo.sh — 环境、网络、仓库预检
  • install_docker.sh / configure_docker.sh / verify_docker.sh / final_check.sh — Docker 安装、配置与验证
  • portainer_probe.sh / install_portainer.sh — Portainer 端口预检与部署

用 ssh_run.py 在本目录复现后续流程(口令通过环境变量临时提供,不写入任何文件)。注意:第 0 章的 SSH 安装必须先在虚拟机本地控制台完成,否则下面第一条命令也连不上:

宿主机终端(先进入 D:\work\2026\ubuntu_2604)
VM_PASS='登录口令' python ssh_run.py --file probe_vm.sh
VM_PASS='登录口令' python ssh_run.py --sudo --file install_docker.sh
VM_PASS='登录口令' python ssh_run.py --sudo --file configure_docker.sh
VM_PASS='登录口令' python ssh_run.py --file verify_docker.sh
VM_PASS='登录口令' python ssh_run.py --file install_portainer.sh
文档安全说明:虚拟机登录口令与一次性 setup token 均未写入本文档,请通过交互输入或 docker logs 现场获取。
posted @ 2026-11-12 20:46  数据酷软件  阅读(23)  评论(3)    收藏  举报