====== 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