1、为Telegram聊天机器人项目Newsbot编写Dockerfile。Docker镜像应基于Python 3,包含requirements.txt中列出的项目依赖项,并拥有一个名为NBT_ACCESS_TOKEN的环境变量。
FROM python:3-alpine
WORKDIR /apps/subredditfetcher/
COPY . .
RUN pip install -r requirements.txt
ENV NBT_ACCESS_TOKEN=
CMD ["python", "newsbot.py"]
2、在本次练习中,你将构建一个附加了 Docker 卷的 Nginx Docker 镜像,该卷包含自定义的 Nginx 配置。在练习的第二部分,你将附加一个绑定挂载和一个包含静态网页及自定义 Nginx 配置的卷。本次练习的目的是帮助你理解如何利用卷和绑定挂载来简化本地开发。
该练习分为两部分:
-
第一部分
构建含自定义 Nginx 配置 Docker 卷的 Nginx Docker 镜像。 -
第二部分
附加绑定挂载和含静态网页与自定义 Nginx 配置的卷,旨在帮助理解利用卷和绑定挂载简化本地开发。
3、为新闻机器人编写 Dockerfile 后,发现终止容器会重置新闻机器人的状态,需要再次对机器人进行定制。为解决这个问题,应采取什么措施,这样做能让我们了解到什么?
解决办法是添加 SQLite 数据库,把其数据文件存到 Docker 卷,完成此操作能掌握通过卷持久化容器数据并重新挂载到新容器的方法。
4、请说明如何修改Newsbot使数据持久化到MySQL数据库,而不是保存到SQLite数据库,以及如何创建一个自定义桥接网络来连接项目容器和MySQL容器,并给出相关操作命令。
构建 Newsbot