Mon /
est blindé il faut donc que je fasse de la place ailleurs, par exemple sur ma partition /home
. Puisque j'ai récupéré tout un tas d'images depuis des mois, j'ai mis au point une solution abrupte mais qui fonctionne :P
Comment ai-je fait ?
/var/lib/docker
dans /home/docker
./var/lib/docker
./home/docker
.Problème
HSQLDB ou H2DB sont deux super beaux projets ! En substance, ils permettent, durant les phases de tests, de charger des BDD en mémoire et d'utiliser le dialecte de la base que l'on aura en production (eg. PostgreSQL, Oracle, etc).
Sauf que les dialectes des BDD changent et que toutes les syntaxes ne sont pas complétement implémentées...
Solution
Les TestContainers ! C'est-à-dire que pour charger votre BDD durant vos tests, vous aller écrire ceci :
public class MyTest {
private static DataSource dataSource;
private static MySQLContainer mysql;
@BeforeClass
public static void init() throws InterruptedException{
//You can also use the GenericContainer for arbitrary containers
//But there are convenient classes for common databases.
mysql = new MySQLContainer("mysql:5.5.53");
mysql.start();
dataSource = DataSourceBuilder.create()
.url(mysql.getJdbcUrl())
.username(mysql.getUsername())
.password(mysql.getPassword())
.driverClassName("com.mysql.cj.jdbc.Driver")
.build();
}
@AfterClass
public static void destroy(){
mysql.close();
}
@Test
public void foo(){
//use the database
}
}
Le seul prérequis, avoir podman (oui car Docker c'est has been).
Enjoy :D
Mon retour d'expérience sur Podman : ça marche très bien sous Red Hat. Il faudra encore quelques temps pour que tout soit correctement backporté sous Debian & Co AMHA.
Le fait que ça soit moins compatible avec Windows => #MenFiche
Quand on est un minimum professionnel, on code pas et on ne gère pas une production avec du Windows dans un conteneur ou derrière un conteneur. Du reste, Linux est un OS beaucoup plus productif pour les Dev et DevOps (certains prétendent le contraire certes, mais je pense qu'ils n'ont pas suffisamment pexé sous Linux pour le réaliser. Aprèsje sais que je suis partiale sur la question).
— Liens directs
Tout un tas de recommandations pour optimiser Docker. Cela va des temps de construction des conteneurs en passant par leur taille et allant jusqu'au runtime. Des choses sûrement déjà dites mais ce type de synthèse sert toujours.
Via Memiks.
— Liens directs
Un article en trois parties vraiment très bon et qui tombe pile poil au moment où je suis en train de regarder pour réduire la taille des images Dockers de plusieurs projets.
Je sens que ça va intéresser @Philou :
Via Liandri.
— Liens directs
Utiliser le layering Docker via un plugin Maven. Pour @Philou de la part de @Ercou.
— Liens directs
Merci à @CCous pour l'info (et que j'oublie tout le temps).
La commande à taper c'est :
docker run --entrypoint "id" <mon-image-docker>
]]>Une réponse de @Philou sur ce post où je parle des fatjar, de Docker et de leur inefficacité.
Très intéressant.
— Liens directs
Pourquoi les FatJar avec Docker sont un antipattern, sachant qu'ils sont un anti-pattern quoi qu'il arrive ! #CoucouSpringBoot
— Liens directs
Les mécanismes de versioning des applications ne sont pas forcément les mêmes en fonction des contextes.
Typiquement si un Product-Team n'est pas impactée par les problématiques de modification de version de Maven, des Project-Team qui modifient chacune des composants d'un gigantesque monolithe, quant à elles le sont.
Merci à Philou pour son lien ainsi que les deux suivants :
]]>Un peu de Docker pour mettre en place un Nginx servant du HTTP sur SSL. Très bon article.
— Liens directs
Ce post a deux ans, les choses se sont améliorées mais pas toutes.
— Liens directs
Tiens, une nouvelle faille de sécurité dans Docker... Le plus drôle c'est que la solution recommandée est de setuper un conteneur dans une machine virtuelle dédiée... Comment vous dire ? Quel est l'intérêt de se servir des conteneurs alors ???
=> Dans mon entreprise, nous sommes restés sur du bar-métal (linux physique) ou de la VM en flat. Merci à Ansible qui fait le taf sans sourciller !
@Doudou : tu en parles à tes clients, ils vont apprécier je dirai :D
— Liens directs
Un tuto pour installer Docker sur une Linux Mint
— Liens directs
Papoter sur les logiciels libres, les serveurs, mon Fairphone et ma Aquaris M10
— Liens directs
Ce que l'on sait depuis un moment déjà sur l'immaturité des conteneurs.
— Liens directs
Je me mets sérieusement à Kubernetes
— Liens directs
Un rex sur Docker
— Liens directs
Pour Doudou :
Découvrez comment prendre le contrôle d'un serveur Docker avec un simple conteneur ! Vous aurez accès avec l'utilisateur root à l'ensemble des fichiers/dossiers du serveur ! La seule condition, avoir accès à un utilisateur membre du groupe Docker !
Parce que je sais que les gens chez toi ont remplacé leur PIC Ansible par une PIC Docker parce que le problème du super conteneur n'existait plus hein... Bah non en fait.
— Liens directs
Une petite introduction sympa autour de ce gestionnaire de conteneurs.
— Liens directs
Présentation rapide de LXC, une technologie qui gagnerait à être connue
— Liens directs
Un tuto sur Docker Compose. Toujours bon à avoir
— Liens directs
Pour toi Animal
— Liens directs
Tout le monde parle de la conteneurisation avec Docker mais connaissiez-vous la conteneurisation avec LXC (LinuX Container).
— Liens directs
Un tuto Docker montrant comment monter un LAMP en récupérant des images depuis le répo Docker (qui je le rappelle ne devrait pas être utiliser en entreprise mais bon).
— Liens directs
Le cloud sous Linux qui se couple super bien avec Docker : OpenStack.
Un superbe tuto également. (Ce post ainsi que son précédent sont pour toi Animal)
— Liens directs
Dockeriser (ie. conteneuriser) sa première application (et juste l'application, pas de conteneurisation d'un OS).
Merci à Lea-Linux encore une fois.
— Liens directs
Un tuto sur Docker pour les débutants.
— Liens directs
La prez d'un meetup sur Ansible, Docker et Jenkins (je regrette de ne pas y être allé).
— Liens directs
coudifié
— Liens directs
Apprendre Docker en 10 min. Coudifié
— Liens directs
Vous souhaitez faire du provisioning de conteneurs, Docker est l'outil ultime.
Quelle est la différence entre Docker et VMware ?
VMware est un serveur de machines virtuelles, autrement dit, vous avez un serveur sous Linux qui va simuler plein de machine physique (des machines virtuelles) sur lesquelles on pourra installer ce que l'on veut (du Linux, du Windows, de l'Unix). En clair cela permet d'avoir plusieurs système sur le même système mais c'est très coûteux en ressource.
Et docker ?
Imaginons maintenant que vous souhaitiez monter 10 tomcat sur des VM (de type VMware), vous aller donc :
1) Simuler 10 machines physiques.
2) Faire tourner 1 OS par machine.
3) Installer un JVM et un Tomcat par OS.
4) Exécuter les Tomcat.
Avec Docker vous zapperez les étapes (1) et (2) et ferez directement tourner la JVM et Tomcat sur Docker ; en économisant les coûts (en ressources hardware) de simulation de machines physiques et des OS.
— Liens directs