[Note] Comment redémarrer le conteneur Windows configuré avec docker-compose

introduction

Il fut un temps où je pensais que peu importe si j'utilisais Docker, Windows ou Linux. Outre la différence de comportement selon le système d'exploitation, il semble qu'il existe des différences selon la méthode de conteneurisation. Il existe deux approches principales pour créer un conteneur dans Windows. L'un consiste à utiliser Hyper-V et l'autre à utiliser l'isolation de processus Windows. Je vais omettre les détails, mais il semble que le comportement de Docker (peut-être seulement composer) est légèrement différent entre les deux, donc j'étais accro au paramètre de redémarrage.

Chose que tu veux faire

Activez le paramètre de redémarrage de docker-compose sur le conteneur Windows Server.

environnement

OS:Windows Server 2019 Datacenter

problème

Docker dispose d'une option de redémarrage qui vous permet de définir si vous souhaitez démarrer le conteneur au démarrage de la machine, mais même si vous avez porté docker-compose.yml qui fonctionnait dans l'environnement Linux vers le conteneur Windows Server tel quel, il n'a pas pu être redémarré avec succès.

Cause

Lors de la vérification de l'état de fonctionnement autour de Docker au démarrage et au redémarrage, il a été constaté que le réseau par défaut activé au démarrage de docker-compose avait disparu au redémarrage.

Contre-mesures

Il a été résolu en créant le paramètre réseaux avec nat external.

version: '3.5'

networks:
  default:
    external:
      name: "nat"

services:
  hoge:
    build:
      context: .
      dockerfile: ./hoge/Dockerfile
    container_name: hoge
    restart: always
    command: powershell
    stdin_open: true
    volumes:
      - .\hoge:C:\hogehoge

finalement

Si vous rencontrez des problèmes, il est préférable de consulter la documentation officielle de Microsoft (https://docs.microsoft.com/en-us/virtualization/windowscontainers/).

Attention et clause de non-responsabilité

Le contenu de cet article est mon opinion personnelle, pas l'opinion officielle de l'organisation à laquelle j'appartiens. L'auteur et l'organisation à laquelle il appartient ne sont pas responsables des problèmes qui pourraient survenir aux utilisateurs ou à des tiers après la mise en œuvre du contenu de cet article.

Recommended Posts

[Note] Comment redémarrer le conteneur Windows configuré avec docker-compose
Comment configurer un proxy avec authentification dans Feign
[Rails] Comment accélérer la composition de docker
Comment utiliser MinIO avec la même fonction que S3 Utiliser docker-compose
[Note] Comment démarrer avec Rspec
Comment configurer et utiliser kapt
[Java] Comment régler la date sur 00:00:00
Comment définir JAVA_HOME avec l'appassembler-maven-plugin de Maven
Comment surveiller nginx avec docker-compose avec datadog
[Java] (pour MacOS) Méthode de définition du chemin de classe
Comment configurer et utiliser jEnv (Mac)
Comment configurer JavaED Full Edition (pléiades)
Comment configurer la vision par ordinateur pour le suivi des images et des vidéos avec TrackingJs
Comment partager côté hôte (Windows) et côté invité (CentOS 7) avec VirtualBox
Comment changer l'action avec plusieurs boutons d'envoi
Comment régler l'heure d'affichage sur l'heure japonaise dans les rails
Organisé comment interagir avec le JDK par étapes
[Docker] Comment voir le contenu des volumes. Démarrez un conteneur avec les privilèges root.
Comment créer docker-compose
Comment définir une limite de relance pour sidekiq et notifier les files d'attente mortes avec Slack
L'histoire lorsque le conteneur ne démarre pas avec docker-compose up et qu'une erreur se produit
Je veux accéder à l'API avec Rails sur plusieurs docker-composes configurés localement
Comment configurer le mappeur Android OU "Orma" (Kotlin)
Résumé de l'utilisation du jeu de proxy dans IE lors de la connexion avec Java
L'histoire qui a conduit à résoudre l'erreur car postgres n'a pas commencé avec docker-compose up
Vérifiez comment définir le délai d'expiration lors de la connexion avec Spring + HikariCP + MySQL et de l'exécution de SQL
Comment définir des variables d'environnement lors de l'utilisation de Payjp avec Rails
Comment régler chrony lorsque le temps change dans CentOS7
Mettez en majuscule uniquement la plage spécifiée avec la sous-chaîne. (Comment utiliser la sous-chaîne)
[Avec des astuces de retour] Comment présenter React aux rails les plus simples
Comment gérer l'erreur ERREUR: lors de l'exécution de gem ... (Gem :: FilePermissionError)
Je veux passer la commande de démarrage à postgres avec docker-compose.
[Docker] Comment accéder à l'hôte depuis l'intérieur du conteneur. http: //host.docker.internal:
Configurer GitLab avec docker
Comment définir nginx de Docker
Comment numéroter (nombre) avec html.erb
Comment mettre à jour avec activerecord-import
Comment définir des constantes Java
[Docker] Comment sauvegarder et restaurer les données de base de données de l'application Rails sur docker-compose [MySQL]
Comment définir l'adresse IP et le nom d'hôte de CentOS8
[Rails] Comment introduire le kaminari avec Slim et changer le design
Pour utiliser l'outil de ligne de commande "java" ... Comment éviter d'apparaître
Ce que j'ai fait lorsque la base de données n'a pas démarré avec docker-compose up
Configurons Stanford CoreNLP Server pour Windows (guide le plus court)
[Rails] Comment utiliser l'appareil (Remarque)
Comment utiliser la méthode form_with
Comment démarrer avec Slim
Comment trouver l'angle moyen
[Java] Points à noter avec Arrays.asList ()
Comment créer un conteneur Java
Comment entourer n'importe quel caractère avec "~"
Comment utiliser la classe wrapper
Comment configurer Spring Boot + PostgreSQL
Comment utiliser mssql-tools avec Alpine