代码之家  ›  专栏  ›  技术社区  ›  user101289

Docker`Docker entrypoint initdb`未链接

  •  0
  • user101289  · 技术社区  · 5 年前

    我想增加一个 init.sh 脚本到 docker-entrypoint-initdb.d 这样我就可以在docker容器中完成数据库的配置。脚本在一个 scripts 在本地目录中 Dockerfile 生活。这个 只是:

    FROM glats/alpine-lamp
    ENV MYSQL_ROOT_PASSWORD=password
    

    build命令正常工作并完成,没有任何错误,然后当我尝试运行容器时,它也可以正常运行,链接卷使用init脚本:

    docker run -d --name mydocker -p 8080:80 -it mydocker \
    -v ~/Docker/scripts:/docker-entrypoint-initdb.d
    

    docker入口点initdb.d 初始值 从不跑步:

    / # ls /
    bin       etc       media     proc      sbin      tmp
    dev       home      mnt       root      srv       usr
    entry.sh  lib       opt       run       sys       var
    

    有人知道为什么卷没有被装入吗?

    1 回复  |  直到 5 年前
        1
  •  0
  •   Adiii    5 年前

    您使用的Docker映像中没有定义此类逻辑 entrypoint 上面的图片只启动MySQL和httpd,不具备从entrypoint构建数据库的能力。

    如果您希望能够使用 mysql-entrypoint 并构建使用office image所需的数据库。

    Initializing a fresh instance

    将使用提供的 扩展 .sh, .sql and .sql.gz /docker-entrypoint-initdb.d .

    同时运行容器,最好每个容器使用一个进程。你可以调查一下 docker-compose 根据容器“每个容器一个进程”规则运行堆栈的文件

    推荐文章