【问题标题】:yum install not working from Dockerfileyum install 不能从 Dockerfile 工作
【发布时间】:2018-03-30 09:26:54
【问题描述】:

我试图为 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 .

但我可以使用yum 命令安装proxysql 包,如Dockerfile 中所述。以下是下面的消息

 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 的回购

解决问题的任何建议

【问题讨论】:

    标签: docker dockerfile rhel7 proxysql


    【解决方案1】:

    尝试先手动添加 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 映像。

    【讨论】:

    • Thw repo 已添加并可从命令行获得,
    • 据我了解,存储库可用于本地命令行,而不是在您的 docker 容器中。
    • @SCO - 如何让存储库在 Dockerfile 中可用?我可以从 Windows 或 Mac 运行 docker build。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-28
    • 2020-12-29
    • 2021-03-07
    • 1970-01-01
    • 1970-01-01
    • 2011-03-13
    • 2017-05-03
    相关资源
    最近更新 更多