我想在docker映像中安装sql cmd。我的dockerfile具有这些命令来安装sqlcmd(centos 7基本映像)
RUN curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
RUN yum remove mssql-tools unixODBC-utf16-devel
RUN yum install -y unixODBC-devel mssql-tools
以下是Docker构建日志
Transaction test succeeded
Running transaction
Updating : libcom_err-1.42.9-17.el7.x86_64 1/14
Installing : unixODBC-2.3.7-1.rh.x86_64 2/14
Updating : libss-1.42.9-17.el7.x86_64 3/14
Installing : e2fsprogs-libs-1.42.9-17.el7.x86_64 4/14
Installing : e2fsprogs-1.42.9-17.el7.x86_64 5/14
Updating : 1:openssl-libs-1.0.2k-19.el7.x86_64 6/14
Installing : 1:make-3.82-24.el7.x86_64 7/14
Installing : 1:openssl-1.0.2k-19.el7.x86_64 8/14
/var/tmp/rpm-tmp.8S1dKq: line 17: /dev/tty: No such device or address
error: %pre(msodbcsql17-17.5.2.1-1.x86_64) scriptlet failed, exit status 1
Error in PREIN scriptlet in rpm package msodbcsql17-17.5.2.1-1.x86_64
error: msodbcsql17-17.5.2.1-1.x86_64: install failed
/var/tmp/rpm-tmp.tObfQB: line 4: /dev/tty: No such device or address
error: %pre(mssql-tools-17.5.2.1-1.x86_64) scriptlet failed, exit status 1
Error in PREIN scriptlet in rpm package mssql-tools-17.5.2.1-1.x86_64
Installing : unixODBC-devel-2.3.7-1.rh.x86_64 11/14
error: mssql-tools-17.5.2.1-1.x86_64: install failed
Cleanup : 1:openssl-libs-1.0.2k-8.el7.x86_64 12/14
Cleanup : libss-1.42.9-10.el7.x86_64 13/14
Cleanup : libcom_err-1.42.9-10.el7.x86_64 14/14
Verifying : libss-1.42.9-17.el7.x86_64 1/14
[当我使用docker exec在容器的终端内手动运行此安装命令时,它可以正常工作。如果我直接在Linux机器上运行此命令,它将运行正常。仅当我使用docker build构建docker映像时,才收到错误/ dev / tty:无此类设备或地址
尝试:RUN ACCEPT_EULA = Y yum install -y unixODBC-devel mssql-tools