如何进入alpine/git容器的shell交互环境?
进入alpine/git镜像容器shell的解决方法
报错原因
出现git: '/bin/sh' is not a git command. See 'git --help'报错的原因是alpine/git镜像的默认ENTRYPOINT被设置为git命令,执行docker run时末尾追加的参数会被直接作为git的子命令解析,而非容器内独立执行的指令,因此/bin/sh会被识别为无效的git子命令。
可行方案
- 方案1:启动容器时覆盖默认入口点
在docker run命令中添加--entrypoint参数指定入口为shell,命令如下:
docker run -it --rm --entrypoint /bin/sh alpine/git
- 方案2:进入运行中的容器
如果需要保留容器后台运行,可以先启动一个存活的实例,再通过exec指令进入shell:
# 启动后台临时容器,默认存活1小时 docker run -d --name git_tmp alpine/git sleep 3600 # 进入容器shell环境 docker exec -it git_tmp /bin/sh # 使用完成后删除临时容器 docker rm -f git_tmp
内容的提问来源于stack exchange,提问作者Snowcrash
相关产品推荐
相关产品推荐

