Docker Desktop部署CKAN失败:/ckan-entrypoint.sh文件缺失
CKAN容器启动失败(exec /ckan-entrypoint.sh: no such file or directory)解决方案
修复换行符与权限问题
Windows与Linux的换行符差异(CRLF vs LF)会导致脚本无法被正确识别。进入WSL的CKAN代码目录,先安装转换工具:sudo apt install dos2unix然后将入口脚本转为Linux格式:
dos2unix docker-entrypoint.sh建议直接在WSL内部克隆代码,避免Windows目录挂载带来的权限和格式问题:
git clone https://github.com/ckan/ckan.git git checkout ckan-2.9.5重新构建CKAN镜像
之前的镜像可能构建不完整,导致脚本缺失。彻底清理现有容器和卷后重新构建:docker-compose down -v docker-compose build --no-cache ckan构建过程中留意是否有报错,确保所有文件都正确复制到镜像内。
验证Docker配置中的脚本设置
检查docker-compose.yml里CKAN服务的entrypoint配置,确认路径为/ckan-entrypoint.sh。同时查看CKAN的Dockerfile,确认包含以下步骤:COPY docker-entrypoint.sh /ckan-entrypoint.sh RUN chmod +x /ckan-entrypoint.sh确保脚本被赋予了执行权限。
检查WSL与Docker Desktop兼容性
打开Docker Desktop设置,确认已开启“Use the WSL 2 based engine”,并将Ubuntu-22.04设为默认WSL发行版:wsl --set-default Ubuntu-22.04设置完成后重启Docker Desktop。
内容的提问来源于stack exchange,提问作者jason
相关产品推荐
相关产品推荐

