Docker Windows Containers으로 작업하고 있습니다. 응용 프로그램을 실행중인 Docker 컨테이너 하나 이상으로 이동하고 싶습니다. 헤드 라인 "도커 작성 및 서비스 검색" 아래 Microsoft docs에 설명 된대로 : 도커에 내장서비스 검색을위한 Docker DNS가 이름으로 Windows 컨테이너의 주소를 확인하는 작업이 일관되게 작동하지 않습니다.
는 IP (DNS) 용기 및 서비스에 대한 매핑 서비스 등록 및 이름을 처리하는 서비스 검색,이다; 서비스 검색을 사용하는 경우 모든 컨테이너 끝 점이 에 대해 이름 (컨테이너 이름 또는 서비스 이름)으로 서로 검색 할 수 있습니다. 이 이름으로
그리고 docker-compose가 키우면의 YAML 파일에 당신 define services 수 있기 때문에,이 검색 가능해야한다 (예를 들어, ping이)합니다 (difference between services and containers in docker-compose을 상기해야합니다). 이 blog post by Microsoft은 web
및 db
서비스가 포함 된 완전한 예를 제공하며, 전체 소스는 필요한 경우 docker-compose.yml in the GitHub repo입니다.
내 문제는 다음과 같습니다 도커 창 용기는 때때로 서로 "를 찾아"않으며, 때로는 전혀. 나는 docker inspect <container-id>
으로 그걸 확인했고, 별칭은 db
과 web
입니다. 그러나 하나의 컨테이너 (예 : docker exec -it myapps_web_1 powershell
을 통해 하나의 웹 컨테이너로)에 넣고 시도 할 때 ping db
이 경우에만 가끔씩 만 작동합니다.
그리고 여기서 (IMHO 문서가 없기 때문에) 여기에 나와 있습니다.이 문제는 non docker-compose 시나리오에서도 마찬가지입니다. example app without compose을 빌드하면이 문제는 도커 작성 서비스가 없어도 나타납니다.
이상한 행동에 대한 아이디어가 있으십니까? 나를 위해이 시나리오는 더 많은 앱이 출현함에 따라 악화됩니다. 자세한 내용은 https://github.com/jonashackt/spring-cloud-netflix-docker을 살펴 봄 봄. & Spring Cloud Eureka/Zuul 및 weatherbackend 및 weatherbackend-second가 쉽게 확장 가능한 4 개의 도커 작성 서비스가있는 예제 프로젝트가 있습니다. docker compose scale weatherbackend=3
을 통해
내 Windows Vagrant box은 packer.io을 통해 빌드되며 최신 Windows Server 2016 Evalutation ISO을 기반으로합니다. 필요한 Windows 기능 및 도커/도커는 is done with Ansible 설치를 작성합니다.
이 문제에 대한 수정 프로그램이 없으면 Docker Windows Containers는 대부분 고객이 사용할 수 없게됩니다.
이렇게해도 문제가 해결되지 않습니다. 나는 이미 그 레지스트리 값이 설정되어있는 최신 Windows 서버 컨테이너를 실행하고 있는데, DNS가 변경된 후에 잘못된 IP를 해결한다는 것을 알게된다. 다른 해결책이 있습니까? –
설정에 대해 더 자세히 설명해 주시겠습니까? Docker Compose를 사용 하시겠습니까? '도커 검사 컨테이너'의 결과는 무엇입니까? 내 블로그 게시물 https://blog.codecentric.de/en/2017/05/ansible-docker-windows-containers-scaling-spring-cloud-netflix-docker-compose/에 대한 완전한 예가 있습니다. https : //github.com/jonashackt/ansible-windows-docker-springboot - 어쩌면 그 중 하나가 도움이되거나 오류를 보여주기위한 예제 프로젝트를 설정하는 것일까 요?! – jonashackt
이것은 내 집 PC (승 10)에서 문제를 해결했지만 제 업무용 노트북은 별칭으로 서비스를 전혀 해결하지 않습니다. 나는 instanceID를 얻을 수 있습니다. 내 노트북이 어떻게 구성되어 있는지 추측하고 있습니다. 누군가는 문제가 내 컴퓨터보다는 오히려 도커 일 가능성이 높다는 이유로 아이디어를 얻었습니다. –