从 KooLabs 到 AI 开发者空间:一次 Docker 上手实验与静态网页发布全流程记录

举报
yd_238478957 发表于 2026/10/21 10:34:31 2026/10/21
【摘要】 写在前面今天在华为云 KooLabs 完成了实验「轻松快速上手 Docker」,又在「AI 开发者空间」里把一个 Hello World 静态网页从生成到发布走了一遍。本文按实际操作顺序整理:第一部分是 Docker 常用操作,第二部分简单介绍 AI 开发者空间里的网页发布流程。中间还有一个登录方面的小坑,一并记下来,希望能帮后来的同学少走弯路。实验地址:https://edu.huawe...

写在前面

今天在华为云 KooLabs 完成了实验「轻松快速上手 Docker」,又在「AI 开发者空间」里把一个 Hello World 静态网页从生成到发布走了一遍。本文按实际操作顺序整理:第一部分是 Docker 常用操作,第二部分简单介绍 AI 开发者空间里的网页发布流程。中间还有一个登录方面的小坑,一并记下来,希望能帮后来的同学少走弯路。

实验地址:https://edu.huaweicloud.com/lab/experiment-detail_2417

一、开始实验前的一个坑:临时账号要用无痕窗口登录

KooLabs 的实验会提供一个临时账号,用来登录实验配套的华为云控制台。如果直接在当前浏览器窗口登录,临时账号的登录态会把自己主账号的登录态顶掉,回到实验页面或其他控制台页面时就会出现身份混乱、需要重新登录的情况。

建议做法:

  1. 在普通窗口保持主账号登录,用来浏览实验手册、操作 KooLabs 页面;
  2. 另开一个浏览器无痕/隐私窗口,在其中用实验提供的临时账号登录控制台;
  3. 两个窗口的 Cookie 互不干扰,可以并排对照手册操作。

这个问题本身不复杂,但第一次遇到时容易误以为是实验环境出了问题,提前知道能省不少时间。

二、Docker 上手:从安装到构建镜像

实验在云主机上完成,下面按操作顺序整理命令。需要说明的是,不同 Linux 发行版的安装方式略有差异,以实验手册给出的为准,这里列出常见写法。

1. 安装并启动 Docker

以使用 yum 的发行版为例:

# 安装 Docker
sudo yum install -y docker

# 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

# 确认安装成功
docker version
docker info

如果是 Debian/Ubuntu 系列,可以用 sudo apt-get install -y docker.io 代替。docker version 能同时输出 Client 和 Server 信息,说明守护进程已经正常运行。

2. 拉取镜像

# 拉取官方 nginx 镜像(不写标签默认为 latest)
docker pull nginx

# 查看本地已有镜像
docker images

建议在正式场景中显式指定标签,例如 nginx:1.25,避免 latest 变化导致环境不一致。

3. 运行容器

# 后台运行一个 nginx 容器,宿主机 8080 端口映射到容器 80 端口
docker run -d --name my-nginx -p 8080:80 nginx

# 在主机上验证
curl http://localhost:8080

几个常用参数:

  • -d:后台运行;
  • --name:指定容器名,后续操作可以直接用名字代替容器 ID;
  • -p 宿主机端口:容器端口:端口映射。若要从公网访问,还需要在云主机安全组中放行对应端口。

4. 查看、进入容器与查看日志

# 查看正在运行的容器
docker ps

# 查看所有容器(包括已停止的)
docker ps -a

# 查看容器日志
docker logs my-nginx

# 进入容器内部执行命令
docker exec -it my-nginx /bin/bash
# 退出容器终端
exit

docker exec 进入的是已经在运行的容器,执行 exit 只会退出这个终端会话,不会停止容器。

5. 停止与删除容器

# 停止容器
docker stop my-nginx

# 重新启动已停止的容器
docker start my-nginx

# 删除容器(需先停止)
docker stop my-nginx
docker rm my-nginx

# 删除镜像(需没有容器在使用它)
docker rmi nginx

删除顺序是"先停容器、再删容器、最后删镜像"。如果镜像仍被某个容器(哪怕是已停止的)引用,docker rmi 会报错。

6. 用 Dockerfile 构建一个简单镜像

新建目录,准备一个首页文件和 Dockerfile:

mkdir -p ~/myweb && cd ~/myweb
echo '<h1>Hello Docker</h1>' > index.html

Dockerfile 内容:

FROM nginx
COPY index.html /usr/share/nginx/html/index.html
EXPOSE 80

构建并运行:

# 构建镜像,-t 指定名称和标签,最后的 . 表示构建上下文为当前目录
docker build -t myweb:v1 .

# 运行自定义镜像
docker run -d --name myweb -p 8081:80 myweb:v1

# 验证
curl http://localhost:8081

返回 <h1>Hello Docker</h1> 即说明镜像构建成功。这个例子虽然简单,但覆盖了 Dockerfile 最核心的三件事:选择基础镜像(FROM)、加入自己的文件(COPY)、声明端口(EXPOSE)。

7. 实验结束前清理

docker stop myweb
docker rm myweb
docker rmi myweb:v1

养成清理习惯,在自己的服务器上可以避免无用容器和镜像长期占用磁盘。

三、AI 开发者空间:用 AI Shell 生成并发布一个静态网页

做完 Docker 实验后,我又体验了华为云「AI 开发者空间」。它提供免费 6 小时的体验云主机,适合快速试验一些小想法。这次的流程如下:

  1. 生成网页:在云主机中打开 AI Shell 智能体,用自然语言描述需求,让它生成一个 Hello World 静态网页。
  2. 对外暴露:通过开发隧道(devbridge)把本地服务暴露出去,获得一个可以从外部访问的地址,用浏览器验证页面效果。
  3. 推送代码:把网页代码推送到 GitCode 仓库,常规 Git 操作即可:
git init
git add .
git commit -m "init: hello world page"
git remote add origin <你的 GitCode 仓库地址>
git push -u origin master

(分支名以仓库实际默认分支为准,可能是 master 或 main。)

  1. 发布作品:最后把作品发布到开发者作品展览馆。

整个过程的体会是:AI Shell 负责"写",开发隧道负责"看",GitCode 负责"存",展览馆负责"展示",从想法到可访问的作品串成了一条完整链路。体验云主机有 6 小时时长限制,建议提前想好要做什么,并及时把代码推送到仓库,避免时间到期后丢失成果。

四、小结

  • KooLabs 实验的临时账号请用无痕窗口登录,避免顶掉主账号登录态;
  • Docker 入门的核心命令就是 pull / run / ps / logs / exec / stop / rm / rmi / build 这一组,配合一个最简单的 Dockerfile 就能理解镜像与容器的关系;
  • AI 开发者空间适合快速验证想法,"生成—暴露—推送—发布"的流程很顺畅,注意体验时长,及时保存代码。

对 Docker 还不熟悉的同学,可以直接去做一遍这个实验,跟着命令敲完,比单纯看文档印象深刻得多。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。