docker run 报错
macos系统,mycat结构为:

server.xml和schema.xml都按照老师说的修改,
按照老师步骤操作的,我看~/mycat/bin和/opt/mycat/bin下面都没有startup.sh,只有
startup_nowrap.sh
请问docker run的时候报错这个怎么解决呢

正在回答 回答被采纳积分+1
你好同学,从报错信息可以看出:Docker 容器内的 /opt/mycat/bin/ 目录下不存在 startup.sh,但容器启动命令默认要执行这个文件,所以启动失败。而你本地和容器内实际只有 startup_nowrap.sh,这是 MyCat 新版本的启动脚本命名变化。给你推荐以下解决方案:
方案一:修改容器启动命令
在 docker run 命令中,显式指定启动脚本为 startup_nowrap.sh,覆盖镜像默认的启动命令:
docker run -it -d --name mycat -p 8066:8066 -p 9066:9066 \ --net mynet --ip 172.18.0.19 -m 2048m \ -v /Users/yun/mycat/conf:/opt/mycat/conf \ -v /Users/yun/mycat/logs:/opt/mycat/logs \ -e TZ=Asia/Shanghai --privileged=true \ mycat:1.6.7.4 \ /opt/mycat/bin/startup_nowrap.sh
关键改动点是在镜像名 mycat:1.6.7.4 后面追加启动脚本路径,告诉容器要执行 startup_nowrap.sh 而不是不存在的startup.sh。
方案二:创建软链接(兼容旧脚本名)
进入容器内部,给 startup_nowrap.sh 创建一个名为 startup.sh 的软链接,让镜像默认命令能找到文件。
先以交互模式启动容器(不执行默认启动命令):
docker run -it --name mycat -p 8066:8066 -p 9066:9066 \ --net mynet --ip 172.18.0.19 -m 2048m \ -v /Users/yun/mycat/conf:/opt/mycat/conf \ -v /Users/yun/mycat/logs:/opt/mycat/logs \ -e TZ=Asia/Shanghai --privileged=true \ mycat:1.6.7.4 \ /bin/bash
然后在容器内执行软链接创建,具体执行命令如下:
ln -s /opt/mycat/bin/startup_nowrap.sh /opt/mycat/bin/startup.sh
然后,退出容器后重新启动:
docker start mycat
需要注意,MyCat 1.6+ 版本将 startup.sh 重命名为 startup_nowrap.sh,避免使用 nohup 后台运行,更适合容器化部署(容器需要前台进程才能存活)。然后,启动后执行 docker logs mycat看看问题是否已经解决。关于Mac 注意事项:确保本地挂载的 conf 和 logs 目录权限正确,避免容器内无法读写。
删除本地镜像后重新执行报错:
yun@yundeMacBook-Pro mycat % docker run -it -d --name mycat -p 8066:8066 -p 9066:9066 \
--net mynet --ip 172.18.0.19 -m 2048m \
-v /Users/yun/mycat/conf:/opt/mycat/conf \
-v /Users/yun/mycat/logs:/opt/mycat/logs \
-e TZ=Asia/Shanghai --privileged=true \
mycat:1.6.7.4
Unable to find image 'mycat:1.6.7.4' locally
docker: Error response from daemon: unknown: failed to resolve reference "docker.io/library/mycat:1.6.7.4": unexpected status from HEAD request to https://docker.1panel.live/v2/library/mycat/manifests/1.6.7.4?ns=docker.io: 403 Forbidden
Run 'docker run --help' for more information
我配置的镜像源是:
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": [
"https://registry.cn-hangzhou.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn",
"https://dockerproxy.1panel.live",
"https://docker.1panel.live",
"https://docker.1panelproxy.com",
"https://proxy.1panel.live",
"https://docker.1panel.top",
"https://docker.1ms.run",
"https://mirror.azure.cn",
"https://hub.rat.dev",
"https://docker.itelyou.cf",
"https://docker.ywsj.tk",
"http://hub-mirror.c.163.com",
"https://docker.xuanyuan.me",
"http://hub-mirror.c.163.com",
"https://hub.littlediary.cn",
"https://docker.kejilion.pro",
"https://lispy.org",
"https://docker.xiaogenban1993.com",
"https://docker.xuanyuan.me",
"https://docker.mybacc.com",
"https://docker-0.unsee.tech",
"https://dockerpull.cn"
]
}
- 参与学习 2052 人
- 提交作业 1522 份
- 解答问题 1328 个
2024重磅革新,超百小时内容豪华升级,加速提升高级技能与高薪就业竞争力 课程紧贴企业最新人才需求,历经7年持续迭代,帮助万名学子入行转行 从零起点到高阶实战,学习路径稳健顺滑,成就从小白到工程师高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星