Make app container wait for DB
parent
f08b986e67
commit
6e058f3d31
|
@ -20,6 +20,7 @@ RUN set -xe;\
|
||||||
FROM reg.zknt.org/zknt/debian-php
|
FROM reg.zknt.org/zknt/debian-php
|
||||||
COPY --from=builder /var/www /var/www
|
COPY --from=builder /var/www /var/www
|
||||||
COPY entrypoint.sh /entrypoint.sh
|
COPY entrypoint.sh /entrypoint.sh
|
||||||
|
COPY wait-for-db.php /wait-for-db.php
|
||||||
RUN apt-install php-curl php-zip php-bcmath php-intl php-mbstring php-xml optipng pngquant jpegoptim gifsicle ffmpeg php-imagick php-gd php-redis php-mysql &&\
|
RUN apt-install php-curl php-zip php-bcmath php-intl php-mbstring php-xml optipng pngquant jpegoptim gifsicle ffmpeg php-imagick php-gd php-redis php-mysql &&\
|
||||||
a2enmod rewrite &&\
|
a2enmod rewrite &&\
|
||||||
sed -i 's/AllowOverride None/AllowOverride All/g' /etc/apache2/apache2.conf
|
sed -i 's/AllowOverride None/AllowOverride All/g' /etc/apache2/apache2.conf
|
||||||
|
|
|
@ -3,6 +3,8 @@ set -xeo pipefail
|
||||||
|
|
||||||
cp -r storage.skel/* storage/
|
cp -r storage.skel/* storage/
|
||||||
|
|
||||||
|
php /wait-for-db.php
|
||||||
|
|
||||||
if [[ ! -e storage/.docker.init ]];
|
if [[ ! -e storage/.docker.init ]];
|
||||||
then
|
then
|
||||||
echo "Fresh installation, initializing database..."
|
echo "Fresh installation, initializing database..."
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$conn = mysqli_connect(
|
||||||
|
getenv('DB_HOST'),
|
||||||
|
getenv('DB_USERNAME'),
|
||||||
|
getenv('DB_PASSWORD'),
|
||||||
|
getenv('DB_DATABASE'),
|
||||||
|
getenv('DB_PORT')
|
||||||
|
);
|
||||||
|
|
||||||
|
$counter = 10;
|
||||||
|
$count = 0;
|
||||||
|
while (!$conn) {
|
||||||
|
echo("Waiting for Database... $count / $counter\n");
|
||||||
|
sleep(2);
|
||||||
|
$conn = mysqli_connect(
|
||||||
|
getenv('DB_HOST'),
|
||||||
|
getenv('DB_USERNAME'),
|
||||||
|
getenv('DB_PASSWORD'),
|
||||||
|
getenv('DB_DATABASE'),
|
||||||
|
getenv('DB_PORT')
|
||||||
|
);
|
||||||
|
$count++;
|
||||||
|
if($count == $counter) {
|
||||||
|
echo("Database did not respond after $counter tries, giving up\n");
|
||||||
|
die(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "Database is up\n";
|
||||||
|
?>
|
Loading…
Reference in New Issue