提问者:小点点

无法在docker容器中安装mysql客户端


我正在尝试运行一个entrypoint脚本,它会一直等到mysql数据库准备就绪,就像下面两个示例:示例1和示例2

正如预期的那样,它失败了,消息“mysql未找到”,因此在Dockerfile中,我添加了这两行:

RUN apt-get update
RUN apt-get install mysql-client

但我得到的信息是:包'mysql client'没有安装候选程序

因此,我尝试使用默认mysql客户端,但得到另一个错误:错误:服务“api”构建失败:命令“/bin/sh-c apt get install default mysql client”返回一个非零代码:1

然后我尝试使用mariadb客户端,但仍然得到相同的错误:错误:服务“api”构建失败:命令“/bin/sh-c apt get install default mysql client”返回一个非零代码:1

这是我的文件

FROM tomcat:10.0.0-M7-jdk11-openjdk-buster
COPY . /tmp
RUN cp /tmp/API.war /usr/local/tomcat/webapps
WORKDIR /tmp
RUN apt-get update
RUN apt-get install default-mysql-client

有人有主意了?


共1个答案

匿名用户

它是固定的,当它要求我回答是或否时,我只是没有注意到错误之前的日志部分,因为它没有给时间来响应,并且瞬间失败:

Step 5/5 : RUN apt install default-mysql-client
 ---> Running in 4d5614df0d53


Reading package lists...
Reading state information...
The following additional packages will be installed:
  libaio1 libconfig-inifiles-perl libdbd-mysql-perl libdbi-perl libmariadb3
  libreadline5 libsnappy1v5 libterm-readkey-perl mariadb-client-10.3
  mariadb-client-core-10.3 mariadb-common mysql-common
Suggested packages:
  libclone-perl libmldbm-perl libnet-daemon-perl libsql-statement-perl
The following NEW packages will be installed:
  default-mysql-client libaio1 libconfig-inifiles-perl libdbd-mysql-perl
  libdbi-perl libmariadb3 libreadline5 libsnappy1v5 libterm-readkey-perl
  mariadb-client-10.3 mariadb-client-core-10.3 mariadb-common mysql-common
0 upgraded, 13 newly installed, 0 to remove and 0 not upgraded.
Need to get 8228 kB of archives.
After this operation, 55.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] Abort.

所以我就像这样在Dockerfile中添加了-y:运行apt-get安装默认的mysql客户端-y