Golang Alpine Docker容器正确指定入口点Shell程序的问题
Docker启动golang:1.20-alpine容器指定Shell失败的问题解决
你的问题出在Docker命令的参数顺序错误,--entrypoint属于docker run的选项参数,必须放在镜像名称之前,而不是之后。
你当前的命令把--entrypoint=bin/sh当成了镜像的启动命令,Docker会尝试在容器内查找名为--entrypoint=bin/sh的可执行文件,自然找不到,所以报错。
正确的命令写法
如果要后台启动容器并指定/bin/sh为入口程序:
docker run -d --entrypoint /bin/sh golang:1.20-alpine
如果需要立即进入容器交互式执行命令(更符合你“立即连接执行命令”的需求),应该去掉-d(后台运行),加上-it(交互式终端):
docker run -it --entrypoint /bin/sh golang:1.20-alpine
补充说明:Alpine镜像里的sh确实在/bin/sh路径下,你指定路径的方向是对的,只是参数位置错误导致了问题。
内容的提问来源于stack exchange,提问作者Raeglyn
相关产品推荐
相关产品推荐

