답변:
via를 입력 docker run -it --entrypoint=/bin/bash $IMAGE -i
하면 (이미지에서 새 컨테이너를 시작하고 대화식 모드에서 bash 셸을 얻을 수 있음) 해당 컨테이너에서 시작점 명령을 실행할 수 있습니다.
그런 다음 실행중인 컨테이너를 실행 중 상태에서 검사 할 수 있습니다.
편집 : Docker 1.3부터 exec
실행중인 컨테이너에서 프로세스를 실행하는 데 사용할 수 있습니다 . 평소처럼 컨테이너를 시작한 후 다음을 실행하여 입력하십시오.
docker exec -it $CONTAINER_ID /bin/bash
bash가 설치되었다고 가정하면 실행중인 컨테이너에 대한 쉘 액세스 권한이 부여됩니다.
-i
이후가 $IMAGE
있습니까?
참조 : https://docs.docker.com/engine/reference/run/#overriding-dockerfile-image-defaults
관련 부분 :
CMD (기본 명령 또는 옵션) Docker 명령 줄에서 선택적 COMMAND를 호출하십시오.
$ docker run [OPTIONS] IMAGE[:TAG] [COMMAND] [ARG...]
이미지를 만든 사람이 이미 Dockerfile CMD를 사용하여 기본 명령을 제공했을 수 있으므로이 명령은 선택 사항입니다. 연산자 (이미지에서 컨테이너를 실행하는 사람)는 새 명령을 지정하여 해당 CMD를 재정의 할 수 있습니다.
이미지가 ENTRYPOINT도 지정하면 CMD 또는 COMMAND가 ENTRYPOINT에 인수로 추가됩니다.
따라서 원하는 작업을 수행하려면 cmd 만 지정하고을 사용하여 재정의하십시오 /bin/bash
. "빈"것은 아니지만 99 %의 작업을 수행합니다.
--login
을 제외하고 -l
귀하의 솔루션은 이미 얻는 것만 큼 좋습니다.
1 ? Ssl 0:00 /usr/bin/geth echo setting up db
여기에 오는 사람은 진입 점 AND 명령을 재정 의하여 다른 명령을 전달합니다.
docker run [other options] --entrypoint '/bin/sh' $IMAGE -c 'npm link gulp gulp-sass gulp-sourcemaps'
-c 'npm link ...'
/bin/sh
여기서 매개 변수 는 컨테이너에서 실행하려는 모든 명령을 전달할 수 있습니다. /bin/sh
알파인 이미지 /bin/bash
용이며 다른 이미지 일 가능성이 높습니다.
'...'
큰 따옴표를 사용"..."
/bin/sh
있지만 귀하 의 이미지는 그렇지 않을 수 있습니다.