2017-04-05 5 views
1

현재 나의 팀에서는 Docker Toolbox에서 Docker for Windows로 전환 중입니다. 많은 스크립트는 여전히 드라이브를 마운트하는 방법, 슬래시 또는 드라이브 이름이 마운트에 어떻게 작동하는지 등과 같이 VirtualBox에서 Docker Toolbox를 실행 중이라고 가정합니다.스크립트는 Docker Toolbox와 Docker for Windows를 어떻게 구별 할 수 있습니까?

docker이 Docker Toolbox 또는 Docker for Windows에서 제공되는지 여부를 스크립트 내부에서 알 수있는 확실한 방법이 있습니까?

+0

Windows 호스트에서이를 탐지하려고합니까? 그래서'docker' 명령을 실행중인 스크립트에서? – Matt

+0

Windows 호스트; 도커가 PATH에있을 것으로 예상됩니다. –

답변

1

도구 상자는 docker-machine을 통해 작동합니다. docker 클라이언트가 가상 머신에 관한 것이다하는 방법은 실행하여 볼 수있는 환경 변수의 번호를 통해입니다 docker-machine env default

SET DOCKER_TLS_VERIFY=1 
SET DOCKER_HOST=tcp://192.168.99.100:2376 
SET DOCKER_CERT_PATH=/user/.docker/machine/machines/default 
SET DOCKER_MACHINE_NAME=default 
REM Run this command to configure your shell: 
REM  @FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i 

Mac 용 도커 그래서 이것을 도커 VM에 매핑되는 /var/run/docker.sock 소켓에 직접 연결 환경 변수가 부족하여 쉽게 감지 할 수 있습니다.

Docker for Windows는 동일한 방법 (//./pipe/docker_engine)의 명명 된 파이프를 사용하므로 환경에 DOCKER_HOST이 없음으로 알릴 수 있어야합니다.

Windows 용 Docker가 환경을 계속 사용하는 경우 도구 상자와 Windows 용 Docker 변수간에 차이가 있습니다. DOCKER_HOST은 다른 범위에 있습니다. DOCKER_CERT_PATH에는 machine 등이 포함되지 않습니다.

+0

많은 정보, 감사합니다. 내가 찾은 것을 다시보고 할 것이다. –