====== 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
- Exporter l'image docker save makeitsimple-rest-server > test.tar
===== 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
Création d'un user htpasswd -nbB user password
===== Sources =====
* https://stackify.com/docker-build-a-beginners-guide-to-building-docker-images/
* https://xataz.developpez.com/tutoriels/utilisation-docker/#LVI-A