跳转至

Computer Science

Docker 中的 CMD 和 ENTRYPOINT

Docker 中的 CMD 和 ENTRYPOINT 都是用来指定容器启动时执行的命令,但它们的作用和使用场景有明显区别,理解它们的区别能帮助我们更灵活地控制容器行为。

CMD 和 ENTRYPOINT 的通俗理解

  • ENTRYPOINT:就像容器的“主菜”,是容器启动时必须执行的命令,无论启动容器时传入什么参数,这个命令都会执行。可以把它想象成披萨店的“披萨”,披萨是必做的主食。
  • CMD:就像披萨的“默认口味”,是容器启动时的默认参数或命令,如果启动容器时没有指定其他命令,CMD 会生效;如果指定了其他命令,CMD 会被覆盖。它是给 ENTRYPOINT 提供默认参数,或者单独作为默认命令使用。

  • 如果只有 CMD,启动容器时指定的命令会替代 CMD。

  • 如果只有 ENTRYPOINT,启动容器时的参数会附加到 ENTRYPOINT 命令后面。
  • 如果两者结合,ENTRYPOINT 定义主命令,CMD 定义默认参数,启动时可以覆盖 CMD 参数但不会替换 ENTRYPOINT。

JupyterLite:在浏览器中运行 Python

JupyterLite 是一个轻量级的 Jupyter 笔记本环境,旨在为用户提供快速、便捷的交互式计算体验。与传统的 Jupyter 环境不同,JupyterLite 可以在不需要安装任何软件的情况下直接在浏览器中运行。

有时我们希望快速测试一些简单的代码(例如得到 ChatGPT 给出的代码后),就可以用 JupyterLite 在浏览器中快速运行代码。

本文记录了如何部署 JupyterLite 站点,以及参与开源项目贡献的心得。

image-20240109210830896

计算机教育中缺失的一课:The shell

大学里的计算机课程通常专注于讲授从操作系统到机器学习这些学院派的课程或主题,而对于如何精通工具这一主题则往往会留给学生自行探索。在这个系列课程中,我们讲授命令行、强大的文本编辑器的使用、使用版本控制系统提供的多种特性等等。学生在他们受教育阶段就会和这些工具朝夕相处(在他们的职业生涯中更是这样)。

因此,花时间打磨使用这些工具的能力并能够最终熟练地、流畅地使用它们是非常有必要的。

精通这些工具不仅可以帮助您更快的使用工具完成任务,并且可以帮助您解决在之前看来似乎无比复杂的问题。

常用的 Git 代码

本文记录了常用的 Git 命令,并转载了一些优质博文(见相关链接)作为补充。

三个基本概念

  1. 工作区 (Workspace) 是计算机中项目的根目录
  2. 暂存区 (Index) 像个缓存区域,临时保存你的改动
  3. 版本库 (Repository) 分为本地仓库(Local) 和远程仓库 (Remote)

simple