2017-04-12 11 views
1

저는 새로운 Windows 10 개발 컴퓨터를 설치했고 다양한 dev 종속성 (Oracle, MongoDB, RabbitMQ, HAProxy 등)이있는 설치의 번거 로움을 최소화했습니다. 도커 작성 스크립트를 사용하여 Docker에서 실행됩니다.Windows에서 로그온 할 때 Docker Containers를 시작하십시오.

Windows 로그온시 자동으로 이러한 컨테이너를 시작하고 싶지만 아직 수행 할 방법을 찾지 못했습니다. 올바른 디렉토리에 docker-compose up -d을 실행하는 간단한 스크립트가이를 수행해야하지만 로그온시 즉시 실행되는 경우 Docker가 아직 시작되지 않았기 때문에 스크립트가 실패합니다. 도커가 돌아갈 때까지 기다리는 방법을 아는 사람이 있습니까?

+0

노드로 dev 컴퓨터 만 사용하여 웜을 초기화 한 다음 1 개의 복제본으로 서비스를 선언하는 솔루션이 아닐까요? 그렇게하면 Docker는 자동으로 최소한 하나의 컨테이너 가용성을 유지합니다. 재부팅 후에도 작동해야합니다. – WillemdeKok

답변

0

도저를 사용하여 달성하기가 매우 쉽습니다. restart!

version: '2' 
    services: 
     rabbitmq: 
      image: rabbitmq:3.6-management 
      ports: 
       - "5672:5672" 
       - "15672:15672" 
      volumes: 
       - /var/lib/rabbitmq 
      restart: unless-stopped 

이 추가 restart 지시어는 컨테이너가되지 않는 한 명시 적으로 로그온/재부팅에 고정 표시기와 함께 시작됩니다 중단을 의미합니다 : 다음과 같이 작성 파일을 변경했습니다. 테스트를 거쳐 작동 중!

1

내 의견에 대해 더 자세히 설명하기 위해 웹 서버 서비스로 약간의 테스트를 수행했지만, 작동하도록 구성하는 한 모든 서비스에서 작동해야합니다.

그 다음 명령을 사용하여이 설정 아주 쉽게 :

다음

docker swarm init

예를 들어 웹 서버에 대한

docker service create --name webserver --publish 80:80 httpd

심지어 데이터베이스

docker service create --replicas 1 --name database --publish 1433:1433 -e "ACCEPT_EULA=y" -e "SA_PASSWORD=test" microsoft/mssql-server-linux

재부팅 후 다시 시작되며 Docker swarm이 계속 유지하는 요청 된 복제본 (기본적으로 1 개) 때문에 치명적인 충돌이 자동으로 발생합니다.

도움이 될 수 있기를 바랍니다.

+0

이 방법이 효과가있을 것이라고 확신하지만 실제로 웜을 도입하지 않고이 작업을 수행하는 방법을 알아 냈습니다. 다른 답변을 참조하십시오 ... –