Docker Sécurité : 10 bonnes pratiques

Docker permet de faire beaucoup de choses, mais si on ne fait pas attention, on peux rapidement se retrouver avec des problèmes de sécurité. Voici donc 10 bonnes pratiques sélectionnés pour sécuriser rapidement vos Docker.

Je tiens à préciser que je ne suis pas un expert en sécurité des systèmes Linux, je suis avant tout un développeur qui tient à assurer un minimum de sécurité à ce qu’il installe sur ses serveurs. Il ne sera donc pas question ici de recompiler le noyau Linux en utilisant telle librairie et pas une autre. Je n’ai donc retenu que les solutions compréhensibles pour un développeur et facile à mettre en place.

Créer une partition séparée pour Docker

L’ensemble des données de docker sont stocké dans /var/lib/docker. C’est le répertoire par défaut que docker utilise pour stocker toutes ses images et ses containers. Dès les premiers jours d’utilisation, on se rend vite compte que  Docker prend rapidement de la place.

Lire la suite

Docker Toolbox et Git sous Windows

L’utilisation de docker sous Windows avec boot2docker était un début, mais avait encore quelques défauts (notamment le partage des fichiers entre l’OS et Docker).

De plus, les outils nécessaires au fonctionnement de docker n’était pas tous compatible avec Windows et devait être installés et configurés séparément

L’arrivée de Docker Toolbox simplifie la donne et propose un outil clé en main installable en quelques clics. A noter que Docker Toolbox est également disponible pour Mac OS

docker-toolbox

Lire la suite

Différence entre Hibernate et JPA

Hibernate/JPA permet de sauvegarder rapidement un objet java dans une base de données. Il permet de s’affranchir des requêtes SQL écrite à la main et le plus souvent difficile à maintenir dans le temps

Modèle de donnée avec JPA/Hibernate

Avec JDBC Classique, nous aurions probablement écrit des requêtes SQL dans une classe UserDao proposant un ensemble de méthode pour gérer les objets User et les relier à une base de données. C’est typiquement ce que proposait cet ancien article sur la réalisation d’un projet Spring.

JPA et Hibernate vont nous permettre de nous affranchir de l’écriture de ces longues requêtes SQL. Il s’agit de ce qu’on appelle des ORM  (object-relational mapping) ou en français Mapping objet-relationnel. Il s’agit d’un Framework qui va se charger de faire la correspondance entre notre objet User et la table correspondante dans la base de données.

Quel est la différence entre Hibernate et JPA?

Lire la suite

Le futur des containers docker avec Windows

La plupart des utilisateurs de Docker sous Windows ont pris l’habitude d’utiliser boot2docker (remplacé par Docker Toolbox dont voici une présentation), un programme qui lance une petite machine virtuelle linux prête à exécuter n’importe quel container Docker. C’est très pratique, et ça permet à n’importe quel développeur Windows de tester Docker, sans forcement passer à Linux. Docker est utilisable via la console lancée dans la VM qui est affiché à l’écran.

Cet outil était également la seule solution sous Mac avant l’arrivée de Kitematic, qui vient d’ailleurs d’être racheté par Docker il y a quelques jours.

Lire la suite