programing tip

Docker 분리 모드

itbloger 2020. 12. 8. 07:48
반응형

Docker 분리 모드


Docker 세계에서 분리 모드는 무엇입니까? 이 기사 Link를 읽었 지만 분리 모드가 무엇을 의미하는지 정확히 설명하지 않습니다.


-d옵션을 사용하여 분리 모드에서 Docker 컨테이너를 시작할 수 있습니다 . 따라서 컨테이너가 시작되고 백그라운드에서 실행됩니다. 즉, 컨테이너를 시작하고 시작 후 다른 명령에 콘솔을 사용할 수 있습니다.

분리 모드의 반대는 전경 모드입니다. -d옵션을 사용하지 않는 경우 기본 모드 입니다. 이 모드에서 실행하는 데 사용하는 콘솔은 docker run표준 입력, 출력 및 오류에 연결됩니다. 즉, 콘솔이 컨테이너의 프로세스에 연결되어 있습니다.

분리 모드에서는 .NET을 사용하여 도커 컨테이너의 표준 출력을 따를 수 있습니다 docker logs -f <container_ID>.

두 가지 옵션을 모두 시도하십시오. 컨테이너를 실행하려면 항상 분리 모드를 사용합니다. 좀 더 명확하게 설명 할 수 있기를 바랍니다.


docker 명령 줄의 detach 옵션은 docker 클라이언트 ( docker)가 서버 ( dockerd)에 요청한 다음 해당 요청이 서버에서 계속되는 동안 클라이언트가 종료 됨을 나타냅니다 . 혼란의 일부는 docker가 단일 프로세스처럼 보이며 실제로는 클라이언트가 모든 명령을 서버로 보내는 REST API의 씬 프론트 엔드 인 클라이언트 / 서버 애플리케이션이라는 점일 수 있습니다.

를 사용 docker container run --detach하면 컨테이너가 생성되고 서버가 성공하면 컨테이너 ID로 응답하며 다른 명령을 자유롭게 실행할 수있는 동안 컨테이너가 서버에서 계속 실행됩니다. 다른 명령을 계속 실행하는 동안 백그라운드에서 시작하려는 서버 (예 : nginx)에 자주 사용됩니다. --interactive-tty옵션 (종종 약어 -it)을 사용하여 컨테이너를 구성 하고 나중에 a docker container attach를 실행하여 이미 실행중인 컨테이너에 연결할 수 있습니다. (로 실행되는 컨테이너에 연결할 때까지 -itd컨테이너가를 통과 한 경우 즉시 종료를 트리거하는 입력 끝을 보는 대신 stdin에서 읽는 모든 시도가 중단됩니다 -d.)

분리 옵션없이 실행하는 경우 클라이언트는 컨테이너가 생성 된 후 즉시 연결 API 호출을 실행하므로 출력을보고 선택적으로 컨테이너에서 실행중인 프로세스에 입력을 제공 할 수 있습니다. 컨테이너가 대화 형 (예 :)을 실행하는 경우 유용합니다 /bin/bash.

다른 몇 가지 명령 docker-compose up -d은 전체 프로젝트를 시작하고 백그라운드에서 서버에서 실행되도록하는 것을 포함하여 분리 옵션을 허용합니다 . 또한 docker service서비스의 대상 상태를 만들거나 업데이트하기 위해 서버에 변경 사항을 제출 한 후 분리되는 명령 도 많이 있습니다. 분리하지 않으면 클라이언트는 서비스의 현재 상태가 대상 상태와 일치 할 때까지 기다립니다. 배포 진행 상황. 와 주 docker service명령, 당신은 통과 할 수 있습니다 --detach=false부착 된 상태로 유지, 동작은 버전에 따라 지난 한 해 동안 변경되었습니다.


docker run -d -t ubuntu:14.04

docker run-docker 이미지에서 docker 컨테이너로 인스턴스를 만듭니다. (로컬에서 이미지를 사용할 수없는 경우 Docker 허브에서 가져옴) ubuntu-이미지 이름

14.04-태그

-d, --detach-분리 모드

-t, --tty-의사 TTY 할당

참고 URL : https://stackoverflow.com/questions/34029680/docker-detached-mode

반응형