codex容器需显式配置沙箱绕过、系统依赖及挂载权限方可正常运行:必须设置env codex_unsafe_allow_no_sandbox=1,安装iptables/curl/jq/git,挂载/root/.codex和/var/log/codex,启用--security-opt seccomp与--cap-add=cap_sys_admin,并映射宿主8317端口至容器8080。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要在Docker容器中正确配置Codex,让它能访问网络、读写必要路径、运行代码且不因权限或沙箱限制崩溃——直接用默认命令启动往往失败,因为Codex在容器内需要显式放开特定能力。
构建镜像前确认基础依赖
进入codex-cli目录,检查Dockerfile是否存在且内容完整:ls -l Dockerfile。若缺失或为空,说明未正确克隆官方仓库,需重新执行git clone https://gitcode.com/GitHub_Trending/codex31/codex。
确认Dockerfile中已包含iptables、curl、jq、git等系统工具安装指令——这些不是可选项,而是Codex执行代码分析、调用API、处理JSON响应的底层依赖。缺少其中任一,容器启动后会报“command not found”并退出。
检查第51行是否设置ENV CODEX_UNSAFE_ALLOW_NO_SANDBOX=1。这行必须存在,【否则Codex在容器内会因双重沙箱检测失败而拒绝启动】。
使用官方脚本一键构建镜像
方法一:在codex-cli目录下直接运行./scripts/build_container.sh。
方法二:手动分步构建(适用于调试):
① 安装项目依赖:pnpm install → ② 编译产物:pnpm run build → ③ 打包为tgz:pnpm pack --pack-destination ./dist → ④ 构建镜像:docker build -t codex:latest -f Dockerfile .
构建完成后执行docker images | grep codex,确认镜像ID和REPOSITORY列均显示正常。若镜像大小小于180MB,大概率漏装了系统依赖,需回查Dockerfile中的apt-get install命令是否完整。
运行容器时启用关键安全参数
方法1:基础运行(仅测试)
docker run -it --rm codex:latest
配置 OpenClaw 多提供商认证与 OpenAI Codex OAuth 备用方案,实现自动模型切换,适用于多 OpenAI Codex 账户设置。
方法2:生产可用配置(必选)
docker run -it --rm \
--security-opt seccomp=seccomp_profile.json \
--cap-add=CAP_SYS_ADMIN \
--read-only \
-v /tmp:/tmp \
-v /var/log/codex:/var/log/codex \
codex:latest
注意:seccomp_profile.json文件需提前下载到当前目录,它来自codex-rs/linux-sandbox/src/landlock.rs,控制哪些系统调用被允许。没有它,Codex无法执行文件操作类命令。
方法3:Windows本地开发快速启动
docker run -it --rm -v %cd%\config:/root/.codex -p 8080:8080 codex:latest
挂载配置与日志目录
第一步:在宿主机创建持久化目录
mkdir -p ./codex-config ./codex-logs
第二步:确保目录权限匹配容器内用户UID
容器默认以codexuser身份运行,其UID为1001。在Linux上执行sudo chown -R 1001:1001 ./codex-config ./codex-logs;Windows WSL用户可跳过此步,但Docker Desktop需开启“Use the WSL 2 based engine”。
第三步:启动时绑定挂载
docker run -d --name codex-prod \
-v $(pwd)/codex-config:/root/.codex \
-v $(pwd)/codex-logs:/var/log/codex \
-p 8317:8080 \
codex:latest
这里-p 8317:8080是固定映射,【右边8080不可更改,它是Codex内置HTTP服务监听端口】,左边8317可按需替换为其他空闲端口。










