【发布时间】:2020-07-04 13:52:56
【问题描述】:
我正在尝试将 init.sh 脚本添加到 docker-entrypoint-initdb.d,以便我可以在 docker 容器中完成数据库的配置。该脚本位于Dockerfile 所在的本地目录中的scripts 目录中。 Dockerfile 很简单:
FROM glats/alpine-lamp
ENV MYSQL_ROOT_PASSWORD=password
构建命令可以正常工作并且没有错误地完成,然后当我尝试运行容器时,它也可以正常运行,并使用带有初始化脚本的链接卷:
docker run -d --name mydocker -p 8080:80 -it mydocker \
-v ~/Docker/scripts:/docker-entrypoint-initdb.d
但是,当我登录到正在运行的容器时,我看不到任何 docker-entrypoint-initdb.d 目录,显然 init.sh 永远不会运行:
/ # ls /
bin etc media proc sbin tmp
dev home mnt root srv usr
entry.sh lib opt run sys var
有人知道为什么没有安装卷吗?
【问题讨论】:
-
像
-v这样的Docker选项需要在镜像名称mydocker之前;图像名称之后的任何内容都被视为要运行的命令。 (看起来该图像也忽略了它给出的命令。)
标签: docker init alpine docker-volume