yum 安装无法从 Dockerfile 运行

yum install not working from Dockerfile

我试图为 ProxySQL 创建一个 Docker 图像。以下是我的 DockerFile

FROM rhel7:latest
USER root

MAINTAINER Ques Zama


# Update the image with the latest packages (recommended)
 RUN yum update -y; yum clean all

# Update image
 RUN yum-config-manager --enable proxysql_repo

# Install ProxySQL
 RUN yum install proxysql -y

# Expose ProxySQL Port 6034
  EXPOSE 6034

# Start the service
  CMD /etc/init.d/service start proxysql

我正在尝试使用以下命令构建图像

 sudo docker build --no-cache -t zama_proxysql .

但我可以使用 Dockerfile 中提到的 yum 命令安装 proxysql 包。下面是留言

 Step 6 : RUN yum install proxysql -y
 ---> Running in 54cc1ae88ba3
 Loaded plugins: ovl, product-id, search-disabled-repos, subscription-manager
 No package proxysql available.
 Error: Nothing to do
 The command '/bin/sh -c yum install proxysql -y' returned a non-zero code: 1

如果我在命令行中执行命令 yum install proxysql,它工作正常。但是从 Dockerfile ,它找不到包。请注意,我已经在 /etc/yum.repos.d

中为 proxysql 启用了 repo

任何解决问题的建议

先尝试手动添加 repo 而不是使用 yum-config-manager :

cat <<EOF | tee /etc/yum.repos.d/proxysql.repo
[proxysql_repo]
name= ProxySQL YUM repository
baseurl=http://repo.proxysql.com/ProxySQL/proxysql-1.4.x/centos/$releasever
gpgcheck=1
gpgkey=http://repo.proxysql.com/ProxySQL/repo_pub_key
EOF

这适用于 FROM centos:7 图像。