You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Docker与Docker Compose搭建Common Lisp-Jupyter环境求助

Docker + Docker Compose 搭建 Common Lisp Jupyter 环境分步指南

问题背景

需要在本地通过Docker与Docker Compose搭建yitzchak开发的common-lisp-jupyter环境,实现Jupyter Notebook运行Common Lisp。此前自行编写的Dockerfile和docker-compose.yml存在配置问题,以下是修正后的完整配置与搭建步骤。

修正后的配置文件

Dockerfile

# 使用Ubuntu 22.04作为基础镜像,兼容性更强
FROM ubuntu:22.04

# 设置环境变量避免交互安装提示
ENV DEBIAN_FRONTEND=noninteractive

# 更新系统并安装核心依赖:Python、Jupyter、SBCL(Common Lisp实现)、Git、构建工具
RUN apt update && apt install -y \
    python3 python3-pip \
    sbcl git build-essential \
    && pip3 install --upgrade pip \
    && pip3 install jupyter

# 克隆common-lisp-jupyter仓库并完成内核安装
RUN git clone https://github.com/yitzchak/common-lisp-jupyter.git /tmp/common-lisp-jupyter \
    && cd /tmp/common-lisp-jupyter \
    # 用SBCL执行安装脚本
    && sbcl --load install.lisp --eval '(quit)' \
    # 清理临时文件减小镜像体积
    && rm -rf /tmp/common-lisp-jupyter

# 创建工作目录并开放权限
RUN mkdir -p /notebooks && chmod 777 /notebooks
WORKDIR /notebooks

# 暴露Jupyter默认端口
EXPOSE 8888

# 启动Jupyter Notebook,允许外部访问,禁用token验证(如需验证可删除--NotebookApp.token=''参数)
CMD ["jupyter", "notebook", "--ip=0.0.0.0", "--no-browser", "--allow-root", "--NotebookApp.token=''"]

docker-compose.yml

version: '3.8'
services:
  common-lisp-jupyter:
    build: .
    volumes:
      # 挂载本地notebooks目录到容器,实现笔记本文件持久化
      - ./notebooks:/notebooks
    ports:
      # 端口映射:本地8888端口对应容器8888端口
      - "8888:8888"
    container_name: common-lisp-jupyter
    restart: unless-stopped

分步搭建步骤

  1. 创建项目目录

    • 本地新建空目录并进入:
      mkdir common-lisp-jupyter-docker && cd common-lisp-jupyter-docker
      
    • 新建notebooks子目录用于存储Jupyter笔记本:
      mkdir notebooks
      
  2. 放置配置文件

    • 将上述修正后的Dockerfile和docker-compose.yml放入项目根目录。
  3. 构建并启动容器

    • 执行命令构建镜像并后台启动容器:
      docker-compose up --build -d
      
      • --build:强制重新构建镜像
      • -d:让容器在后台运行
  4. 验证容器状态

    • 执行命令确认容器正常运行:
      docker-compose ps
      
      状态显示Up即为启动成功。

访问Jupyter Notebook

  1. 打开浏览器访问

    • 在本地浏览器输入地址:http://localhost:8888即可进入Jupyter界面。
    • 如果保留了token验证(删除了--NotebookApp.token=''),需查看容器日志获取token:
      docker-compose logs common-lisp-jupyter
      
      从日志中复制类似http://127.0.0.1:8888/?token=xxxxxx的链接中的token,输入到浏览器的验证框即可。
  2. 创建Common Lisp笔记本

    • 进入Jupyter界面后,点击右上角New按钮,选择Common Lisp选项,即可创建支持Common Lisp的笔记本,编写代码运行。

内容的提问来源于stack exchange,提问作者vladandreevza5557

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 03:08:33