실제로 컨테이너 를 시작 하려면 다음을 수행하십시오.
docker run a8asd8f9asdf0
그렇다면, 무엇을 하는가 :
docker start
하다?
매뉴얼에는
하나 이상의 중지 된 컨테이너 시작
execute
있습니까?
실제로 컨테이너 를 시작 하려면 다음을 수행하십시오.
docker run a8asd8f9asdf0
그렇다면, 무엇을 하는가 :
docker start
하다?
매뉴얼에는
하나 이상의 중지 된 컨테이너 시작
execute
있습니까?
답변:
이것은 매우 중요한 질문이며 대답은 매우 간단하지만 근본적입니다.
docker run IMAGE_ID
docker run CONTAINER_ID
docker stop CONTAINER_ID
하여 동일한 컨테이너를 다시 시작할 수 docker start CONTAINER_ID
있으며 데이터와 설정이 동일합니다.&
에 대해 run
명령 줄 끝에 필요 합니까? 나는 countinous (24 시간) 서비스로 필요
run
이미지를 실행start
컨테이너를 시작합니다 .docker run
문서는 언급을한다 :
docker run
명령은 먼저 생성 지정된 이미지 위에 기록 가능한 콘테이너 층 후 시작 지정된 명령을 사용한다.즉 고정 표시기의 인 실행이 API에 해당합니다
/containers/create
다음/containers/(id)/start
.
당신은 당신이 그것 (고정 표시기 1.3 이후) 간부 고정 표시기, 기존의 컨테이너를 실행하지 마십시오 . 종료 된 컨테이너를 다시 시작할
수 있습니다 .
-i
를 docker run
위해 추가 할 필요가 없습니까? 도커 실행에는 컨테이너를 실행하기위한 이미지가 필요합니다.
예를 들어 설명 :
컴퓨터에 게임 (iso) 이미지가 있다고 가정하십시오.
당신이 할 때 run
(가상 드라이브로 이미지를 마운트), 가상 드라이브가 모든 가상 드라이브에 게임 내용과 게임 설치 파일이 만들어집니다 자동으로 시작됩니다. [Docker 이미지 실행-컨테이너를 만든 다음 시작하십시오.]
그러나 stop
(도커 중지와 유사) 가상 드라이브는 여전히 존재하지만 모든 프로세스를 중지합니다. [컨테이너가 삭제되지 않을 때까지 존재 함]
그리고 당신이 할 때 start
(도커 시작과 유사) 가상 드라이브에서 게임 파일이 실행을 시작합니다. [기존 컨테이너 시작]
이 예에서-게임 이미지는 Docker 이미지이고 가상 드라이브는 컨테이너입니다.
daniele3004 의 답변은 이미 꽤 좋습니다.
그냥 신속하고 더러운 최대 믹스 나 같은 사람을위한 공식 run
과 start
수시로 :
docker run [...]
= docker pull [...]
+docker start [...]
"...docker run is equivalent to the API /containers/create then /containers/(id)/start.
(source : docs.docker.com/engine/reference/commandline/run )
run
명령은 이미지에서 컨테이너를 만든 다음이 컨테이너에서 루트 프로세스를 시작합니다. run --rm
플래그 와 함께 실행하면 나중에 쓸모없는 죽은 컨테이너를 제거하는 문제가 발생하지 docker start
않으며 존재하지 않고 docker remove
완전히 무시할 수 있습니다 .
run
명령은 몇 가지 다른 작업을 수행합니다.
docker run --name dname image_name bash -c "whoami"
docker ps
bash -c "whoami"
됩니다. docker run --name dname image_name
컨테이너를 실행하라는 명령없이 실행하면 즉시 중지 상태가됩니다.docker remove
같은 이름으로 컨테이너를 시작하기 전에 실행 해야합니다.컨테이너가 자동으로 정지되면 어떻게 제거합니까? 명령에--rm
플래그를추가하십시오run
.
docker run --rm --name dname image_name bash -c "whoami"
단일 컨테이너에서 여러 명령을 실행하는 방법은 무엇입니까? 루트 프로세스가 죽지 않도록합니다. --detached
플래그로 시작할 때 쓸모없는 명령을실행 한 다음 "execute"를 사용하여 실제 명령을 실행하면됩니다.
docker run --rm -d --name dname image_name tail -f /dev/null
docker exec dname bash -c "whoami"
docker exec dname bash -c "echo 'Nnice'"
왜 우리는 필요 docker stop
합니까? 끝없는 명령으로 이전 스 니펫에서 시작한이 느린 컨테이너를 중지합니다tail -f /dev/null
.