Docker: container pour rest-server

Au préalable, compiler un serveur rest et prendre le binaire.

Créer un fichier Dockerfile (D majuscule est important):

nano Dockerfile

et introduisez les lignes suivantes

# Filename: Dockerfile
FROM node:10-alpine
ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
COPY rest-server /usr/bin/
COPY start.sh /
EXPOSE 8000
CMD ["/start.sh"]

Créer un fichier start.sh:

nano start.sh

et introduisez les lignes suivantes

#!/bin/sh
set -e
echo makeITsimple Rest Server
echo ------------------------
echo Args: $OPTION
echo
if [ ! -f "$CHEMIN/.htpasswd" ]; then
echo "htpasswd doesn't exist - creating it"
touch $CHEMIN/.htpasswd
fi
if [ ! -z "$OPTION" ] && [ ! -z "$CHEMIN" ]; then
exec /usr/bin/rest-server --path $CHEMIN $OPTION
else
echo "Pas de variables OPTIONS ou CHEMIN défini"
fi

Script pour effacer/créer/puis lancer une image Docker test

echo Suppression anciennes images echo **************************** echo docker image rmi test -f echo Création nouvelle image echo *********************** docker build . -t test echo echo Lancement nouvelle image echo ************************ echo docker run -ti -v /root/test/data:/tmp -e OPTION="--append-only --private-repos" -e CHEMIN="/tmp" test

Sources

https://stackify.com/docker-build-a-beginners-guide-to-building-docker-images/

https://xataz.developpez.com/tutoriels/utilisation-docker/#LVI-A