
Docker create
도커 이미지에서 새로운 컨테이너를 생성한다. 그러나 즉시 실행되지는 않는다.
Docker start
중지된 컨테이너를 시작한다. docker create 명령을 사용하여 컨테이너를 만든 경우 이 명령으로 시작할 수 있다.
Docker run
create와 start의 조합으로 새 컨테이너를 생성하고 시작한다. docker run 명령은 로컬 시스템에서 이미지를 찾지 못하는 경우 Docker Hub에서 이미지를 가져와서 컨테이너를 생성하고 실행한다.
docker start
로 시작하는 경우, detached(분리)모드가 디폴트이며,
docker run
로 실행하는 경우, attached(연결)모드가 디폴트 입니다.
attached모드는 단순히 우리가 그 컨테이너의 출력결과를 수신한다는 것을 의미한다.
예를 들어 콘솔에 출력되는 내용들. 우리가 원하든, 원하지 않든
detached모드에서 로그를 확인하는 방법은
docker attached $(컨테이너이름 or ID) #연결하는 명령어
docker logs $(컨테이너이름 or ID) #이전의 로그들을 가져옴
docker logs -f $(컨테이너이름 or ID) #향후 로그 출력 결과도 계속 가져옴
docker start -a $(컨테이너이름 or ID) #중지후 -a플래그를 달고 명령어 입력시 연결모드로 시작함
컨테이너에 연결되어 있든, 분리되었든 그에 상관없이 여전히 실행 중이다.
하지만 컨테이너 내부의 정보가 필요한 경우, docker logs를 사용하거나
컨테이너를 다시 직접 연결하여 추가 정보를 얻을 수 있다.
이미 실행 중인 컨테이너에 연결하기
디폴트로 '-d' 없이 컨테이너를 실행하면, "attached모드"로 실행된다.
detached 모드(예: -d)로 컨테이너를 시작한 경우에는 다음 명령을 사용하여 컨테이너를 다시 시작하지 않고도 컨테이너에 연결할 수 있다.
docker attach CONTAINER
이는 CONTAINER라는 ID 또는 이름으로 실행 중인 컨테이너에 연결