Maison  >  Questions et réponses  >  le corps du texte

打包好的docker镜像如何在启动容器前进行测试

项目在docker容器集群上跑, 每次部署会干掉旧容器, 然后根据打包好的新镜像启动容器.
这里有个严重的问题, 就是如果新的镜像出现问题, 旧容器又被干掉, 会导致业务无法访问.
请问是否有办法将打包的镜像先测试能否正确启动容器?

大家讲道理大家讲道理2755 Il y a quelques jours793

répondre à tous(2)je répondrai

  • PHPz

    PHPz2017-04-27 09:04:21

    Le cluster est comme un essaim de docker. Lors de la mise à niveau de l'image du conteneur, démarrez d'abord le nouveau conteneur, puis arrêtez l'ancien conteneur après le démarrage normal du nouveau conteneur.
    Lorsque Docker démarre un conteneur, si la commande dans le conteneur peut démarrer normalement, il sera considéré que le conteneur démarre normalement. docker swarm arrêtera alors l’ancien conteneur.
    Cependant, pour certaines entreprises, cela ne signifie pas que le démarrage réussi du processus dans le conteneur signifie que l'entreprise est normale. À ce stade, vous pouvez utiliser la commande healthcheck dans le Dockerfile pour personnaliser la commande afin de vérifier le. santé de l'entreprise. Ce n'est que lorsque le résultat de cette commande est 0 que le conteneur est considéré comme démarré normalement, de sorte que swarm arrête l'ancien conteneur. https://docs.docker.com/engin...

    répondre
    0
  • 仅有的幸福

    仅有的幸福2017-04-27 09:04:21

    Puisqu'il s'agit déjà d'un cluster, n'y a-t-il pas un système de secours chaud ? Exécutez au moins deux instances du même conteneur, une en tant que sauvegarde. Lors de la mise à niveau, mettez d'abord à niveau l'un d'eux, puis mettez à niveau les autres. Similaire à ça

    répondre
    0
  • Annulerrépondre