azure - 在 CentOS 7 上安装 docker-ce 时 moby 软件包出现问题

标签 azure docker centos7 moby

我有一个 CentOS 7 的 docker 镜像,它通过 recommended instructions 安装 docker-ce 。 即

RUN yum-config-manager \
  --add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
RUN yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
RUN yum update -y
RUN yum install -y docker-ce docker-ce-cli containerd.io

最近它停止工作,现在失败如下:

--> Processing Conflict: moby-containerd-1.3.6+azure-1.x86_64 conflicts containerd
--> Processing Conflict: moby-runc-1.0.0~rc10+azure-2.x86_64 conflicts runc
--> Finished Dependency Resolution
Error: moby-containerd conflicts with containerd.io-1.2.13-3.2.el7.x86_64
Error: moby-runc conflicts with containerd.io-1.2.13-3.2.el7.x86_64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
The command '/bin/sh -c yum install -y docker-ce docker-ce-cli containerd.io' returned a non-zero code: 1

如果安装命令替换为:

yum install -y docker

我收到与未签名的包有关的不同错误:

Package runc is obsoleted by moby-runc, trying to install moby-runc-1.0.0~rc10+azure-2.x86_64 instead
...
Package moby-runc-1.0.0~rc10+azure-2.x86_64.rpm is not signed

我尝试强制使用以下几个旧版本,但无济于事,例如

RUN yum install -y docker-1.13.1-102.git7f2769b.el7.centos

为什么会发生这种情况?我该如何修复它?以及如何防止将来出现类似问题?

<小时/>

更新:此问题中缺少的一个关键信息是 Azure 的使用。我有以下内容,因为需要 aspnetcore 在 Azure DevOps 管道中发布包:

RUN rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
RUN yum update -y && yum install aspnetcore-runtime-3.1 -y

最佳答案

我的存储库需要更新 --- 以下解决了我的问题:

curl https://packages.microsoft.com/config/rhel/7/prod.repo > ./microsoft-prod.repo
sudo cp ./microsoft-prod.repo /etc/yum.repos.d/
yum update -y

https://learn.microsoft.com/en-us/windows-server/administration/linux-package-repository-for-microsoft-software

关于azure - 在 CentOS 7 上安装 docker-ce 时 moby 软件包出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63163859/

相关文章:

Azure - 查询 2 亿个实体

visual-studio - 如何将 EF 迁移应用到 Azure 中托管的数据库?

c# - CDN 与 View.aspx 文件?

docker - 如何在 github-actions 中使用变量 docker 图像?

docker - 相同局域网内的外部机器无法监听docker内部的ROS节点

linux - 在 centos 7 上使用 websockets 安装 mosquitto 时出错

azure - 配置非托管 k8s 负载均衡器

linux - 使用 docker 启动集线器后出现 "This site can’ t be returned

python - 如何在 Python 脚本中可靠地检查我是否高于某个 CentOS 版本(CentOS 7)?

docker - 在 docker 镜像上使用 KeyCloak 运行 Wildfly Swarm