AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1046222
Accepted
nail0x
nail0x
Asked: 2020-12-16 01:22:44 +0800 CST2020-12-16 01:22:44 +0800 CST 2020-12-16 01:22:44 +0800 CST

CMD 时找不到 Docker (alpine) 文件

  • 772

所以这是我的 Dockerfile:

FROM alpine

RUN apk add --update --upgrade --no-cache mysql mysql-client

RUN rm -rf /etc/my.cnf /etc/mysql/* /etc/mysql.d/ && \
mkdir -p /var/lib/mysql /var/run/mysqld && \
chown -R mysql /var/lib/mysql /run/mysqld && \
chgrp -R mysql /var/lib/mysql /run/mysqld && \
mysql_install_db --user=mysql --ldata=/var

EXPOSE 3306

USER mysql

CMD ["sh", "mysqld_safe --data=/var"]

我的问题是,当我使用它没有找到的图像运行容器时mysqld_safe。但是当我像这样手动运行命令时:docker run mysql mysqld_safe --data=/var它有效!我尝试使用以下命令更改 dockerfile: CMD ["sh", "cat -"] 以查看问题是否出在mysqld_safe命令上,但这里的问题相同,cat除非我使用docker run mysql cat -.

问题是来自busyboxalpine 还是来自 PATH ?我现在不知道,我需要你的帮助。

busybox docker alpine
  • 1 1 个回答
  • 659 Views

1 个回答

  • Voted
  1. Best Answer
    BMitch
    2020-12-16T07:14:45+08:002020-12-16T07:14:45+08:00

    你错过了告诉它解析/运行 shell 的下一个参数的-c标志。sh没有它,我相信它正在寻找一个名称mysqld_safe --data=/var为要运行的脚本,这不是mysqld_safe带有 arg的脚本--data=/var,而是目录名称中带有空格、破折号和等号的单个脚本名称。相反,你想要:

    CMD ["sh", "-c", "mysqld_safe --data=/var"]
    
    • 0

相关问题

  • 从另一个 docker 镜像创建数据容器

  • 什么负责设置默认广播地址?

  • 有没有办法让 ls 在busybox中以彩色打印?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve