跳到主要内容

课后小练习

Level 0

安装 Docker 并运行 hello-world

Level 1

Gitea 使用 Docker 部署一个 Gitea 服务,数据库服务使用 Mysql,要求:

  • 不使用 Docker Compose,手动创建网络和卷(实在不会可以照着 Gitea 的 compose 文件)

  • 配置 volume 持久化数据

  • 使用自定义网络连接容器

  • 提交时,提交命令执行截图,和最终部署起来的 Gitea

Level 2

写一个 Dockerfile,打包一个镜像,并上传 GHCR 或 Docker Hub 或者任意第三方容器服务,可选内容如下:

  • 一个需要安装环境的 Python 或 Javascript 脚本,在 Dockerfile 中完成环境搭建,并打包脚本
  • 多阶段构建,可以写一个 C 语言或 GO、RUST 程序,在构建阶段构建,然后在最终镜像中只包含可执行文件
  • 写一个简单的 HTML 静态页面和 404 页面,作为 Nginx 的 默认页面 和 404 页面,将其与 Nginx 打包在一起

提交要求:

  • 最推荐创建一个 Github 储存库,提交具有 程序源代码Dockerfile 的仓库链接、第三方容器服务的镜像链接。如果不会使用 Github 贴源代码和Dockerfile,以及第三方容器服务的镜像链接
  • 提交使用镜像的运行截图

Level 3

使用 Docker Compose 创建一个多容器的服务,可选内容如下:

  • 我的世界服务器,具有多个子服容器,和主服(大厅服)使用自定义网络通信,可以使用 Waterfall 或 Velocity 组合子服和主服,最终只暴露大厅服,地图等插件数据使用卷持久化。
  • 一个前后端分离的网站,数据使用卷持久化。
  • 简单的模板渲染网站 + Mysql 数据库,数据使用卷持久化。
  • 其他你能想到的多容器服务

提交要求同 Level 2