Docker – 扩展父进程的入口
我有一个基于官方postgres图像的自定义图像,我想扩展父图像的入口点,以便它会创build新的用户和数据库,如果它们不存在,每当一个容器启动。 可能吗? 就像我的图像将执行从标准入口点加上我自己的shell脚本的所有命令。
我知道把我自己的脚本放到/docker-entrypoint-initdb.d目录下,但似乎只有在第一次创build卷时才会执行。
你需要做的是像下面的东西
setup_user.sh
sleep 10 echo "execute commands to setup user"
setup.sh
sh setup_user.sh & ./docker-entrypoint.sh postgres
而你的图像应该使用ENTRYPOINT
ENTRYPOINT ["/setup.sh"]
你需要在后台启动你的设置脚本,并让原始的entryscript工作来启动数据库