【发布时间】:2020-09-17 09:03:20
【问题描述】:
我有两台托管 gitlab-runner 的不同服务器机器。我使用一个作为开发版本,另一个作为生产版本。我在两台机器上都有相同的配置,所以 gitlab-runner 的最新版本和 Docker/docker-compose 的最新版本。
在我的 dockerfiles 中,我需要下载 net-tools 包才能使用 netstat 命令。 builder docker 是 OpenJDK 14 的官方镜像,它基于 RHEL。所以,为了安装一个新包,我只能使用 dnf/microdnf 或 yum。
好的,到目前为止,一切都应该简单明了。但是...当机器尝试运行命令时:
RUN microdnf install net-tools
在登台机器上:
/bin/sh: microdnf: 找不到命令
相反,在生产机器上:
作业成功。
好的,那么 yum 呢?让我们更改 Dockerfile 的 net-tools 安装
RUN yum install net-tools -y
流水线已启动,作业已安排并...暂存机器:
作业成功。
在生产机器上,如您所见:
/bin/sh: yum: 找不到命令
我觉得我有点被困住了,因为没有另一种安装包的方式(dnf 应该是另一种可能的方式,但它没有安装在两个 docker 映像上),我不想应用可以“测试”的解决方法通过 microdnf 或 yum 安装。
我希望我已尽可能清楚地说明问题。
【问题讨论】:
标签: docker gitlab-ci-runner yum rhel dnf