课后小练习
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