Docker是一个开源的应用容器引擎,允许开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何支持Docker的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

在进行Docker镜像构建时遇到“shim error: docker-runc not installed on system”的问题指的是Docker运行时所依赖的组件 docker-runc没有在系统中正确安装或配置,因而导致Docker无法正常执行构建操作。

docker-runcrunc的一个轻量级版本,负责在Docker容器的生命周期中运行容器。runc是一个符合OCI(开放容器标准)的容器运行时,它可以在操作系统上运行容器。

下面是针对该问题的一系列解决步骤,您可以逐一尝试,以解决“shim error: docker-runc not installed on system”的错误。

解决步骤:

  1. 确认 runc是否安装: 使用命令 runc --version来确认 runc是否已经安装在系统上。如果没有安装,您需要先进行安装。
  2. 安装 runc:
    如果 runc未安装,您可以通过您系统的包管理器来进行安装。例如,在基于Debian的系统上,可以使用如下命令安装:

    sudo apt-get update
    sudo apt-get install runc
  3. 重新启动Docker服务:
    在安装或确认安装了 runc后,需要重新启动Docker服务以确保其能够检测到新安装的 runc。可以使用以下命令来重新启动Docker服务:

    sudo systemctl restart docker
  4. 检查Docker配置:
    有时候Docker配置文件可能会指向错误的 runc路径。检查 /etc/docker/daemon.json文件(如果存在的话),确认里面关于运行时的配置是正确的。如果发现配置问题,则需要编辑该文件并指定正确的 runc路径。
  5. 升级Docker:
    如果问题依旧存在,尝试升级Docker到最新版本。不同的系统和版本升级操作会有所不同,一般可以通过官方文档找到相应的升级指南。
  6. 检查系统的环境路径:
    确保 runc所在的目录在系统的环境变量 PATH中。可以通过执行 echo $PATH来查看当前的 PATH值,并确保包含 runc的路径。
  7. 使用Docker社区版:
    如果以上步骤均无法解决您的问题,尝试卸载当前版本的Docker,并安装Docker社区版(Docker CE)。

这个问题很可能是由于安装或配置不当所导致的,在执行上述步骤中一旦问题得到解决,您便可以继续使用Docker进行容器的构建和部署。如果问题仍然存在,建议查阅Docker的官方文档或是联系Docker的支持论坛获取更多帮助。

云服务器/高防CDN推荐

蓝易云国内/海外高防云服务器推荐


海外免备案云服务器链接:www.tsyvps.com

蓝易云安全企业级高防CDN:www.tsycdn.com

持有增值电信营业许可证:B1-20222080【资质齐全】

蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。


百度搜索:蓝易云

蓝易云是一家专注于香港及国内数据中心服务的提供商,提供高质量的服务器租用和云计算服务、包括免备案香港服务器、香港CN2、美国服务器、海外高防服务器、国内高防服务器、香港VPS等。致力于为用户提供稳定,快速的网络连接和优质的客户体验。
最后修改:2024 年 01 月 03 日
如果觉得我的文章对你有用,请随意赞赏