首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >创建一个带有ubuntu映像的Dockerfile并在其中运行mysql

创建一个带有ubuntu映像的Dockerfile并在其中运行mysql
EN

Stack Overflow用户
提问于 2022-11-06 16:08:24
回答 1查看 59关注 0票数 0

我正在尝试使用运行mysql服务器的ubuntu映像来设置Dockerfile (我知道我应该使用mysql映像,但我需要这样做才能完成任务)。我在设计Dockerfile时遇到了很多麻烦。我的Dockerfile现在看起来是这样的:

代码语言:javascript
运行
复制
FROM ubuntu:latest

EXPOSE 3306

VOLUME [ "/var/lib/mysql" ]

RUN apt update && \
    apt install -y mysql-server && \
    apt-get install -y gosu

ENV MYSQL_ROOT_PASSWORD=secret

COPY ./wordpress.sql /docker-entrypoint-initdb.d/

COPY ./docker-entrypoint.sh /usr/local/bin/

COPY ./entrypoint.sh /

RUN chmod +x entrypoint.sh && \
    chmod +x /docker-entrypoint-initdb.d/wordpress.sql && \
    chmod +x /usr/local/bin/docker-entrypoint.sh

ENTRYPOINT ["docker-entrypoint.sh"]

CMD [ "mysqld" ]

(我运行docker build -t sql .构建映像,运行docker run --name sql_cont -v sql_vol:/var/lib/mysql sql_img运行容器)

我有一个文件夹,其中有docker-entrypoint.sh文件和entrypoint.sh文件,因为当我安装mysql-server时,默认情况下不会像使用mysql停靠文件那样创建这些文件。

我只需要一个来自ubuntu映像的Dockerfile,它运行mysql,只需要等待连接,所以,如果有人知道如何重构这个Dockerfile,或者给我答案,我会非常感激的。

EN

回答 1

Stack Overflow用户

发布于 2022-11-06 16:25:42

如果What is the difference between CMD and ENTRYPOINT in a Dockerfile?是正确的,CMD中的参数将被传递给ENTRYPOINT。不知道您的ENTRYPOINT脚本,但我希望它忽略参数。

我建议:

/bin/sh -c)

  • start

  • 不替换默认的入口点(默认为-entrypoint.sh,从CMD
  • 中添加mysqld到docker-ENTRYPOINT.sh
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74337548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档