sudo docker run -d centos /bin/bash 컨테이너를 생성한 후 docker ps -a를 사용하여 컨테이너가 중지되었는지 확인합니다. docker start id를 사용하여 컨테이너를 시작한 후 ps -a의 작업 시간을 관찰합니다. 컨테이너가 실제로 시작되었지만 즉시 중지되었음을 확인합니다. 이유는 무엇입니까?
보충: 세 개의 미러, centos, mysql, nginx를 시작하려고 시도했지만 nginx만 시작할 수 있습니다. 나머지 두 개는 무슨 일이 있어도 시작할 수 없습니다.
보충 2: 문제는 기본적으로 발견되었습니다. 이유는 백그라운드에서 실행되는 Docker 컨테이너에 포그라운드 프로세스가 있어야 하기 때문입니다. 메인 스레드가 끝나면 컨테이너가 종료됩니다.
Sudo docker run -d centos를 sudo docker -dit centos로 변경하면 됩니다.
항상 조금 어색한 느낌이 듭니다. 더 나은 해결책이 있나요? 나에게 조언을 해주실 수 있기를 바랍니다. . .
sudo docker run -t -i centos /bin/bash
Docker 로그 컨테이너 ID를 통해 컨테이너 메인 프로그램의 출력을 확인할 수 있습니다. 이를 통해 이유를 분석해 보세요.
또한 시스템 이미지의 기본 시작은 bash입니다. 입력 스트림이 연결되지 않으면 즉시 종료됩니다.