Server&Infra

docker run, create, start

향각산 2021. 9. 15. 21:08

docker run <이미지 이름> : 도커 존재하는 이미지를 다운받아서 컨테이너로 실행 시킴.

 

docker create <이미지 이름> : 도커 이미지로 컨테이너를 생성한다.

현재 다음과 같은 docker image를 두개 받아놨다.

컨테이너를 조회하면 다음과 같이 해당 이미지들로 생성한 컨테이너가 조회된다.

docker create hello-world를 진행해보자. 그럼 다음과 같이 컨테이너가 생성되고 컨테이너 ID가 나타난다.

이제 여기서 중요한점은 create 명령어를 입력한 이미지 이름이 도커 저장소에 이미 있는 이미지라면 docker images에 바로 컨테이너 id가 리턴돼고 없다면 저장소에서 pull을 받고 저장된다는 것이다.

apline는 이미 도커 저장소에 있는 이미지였고, docker images를 했을때 내 로컬에 존재하지 않던 이미지였다.

이미 저종사에 있기때문에 이미지를 pull하고 마지막에 hello-world처럼 컨테이너 ID를 리턴하는것을 볼 수 있다.

 

그렇다면 없는 이미지 이름을 하면 어떻게 될까??

에러난다. 로컬에서 찾을 수 없고 pull을 해보지만 공개된 저장소 및 내 도커 저장소에도 데이터가 없으니 에러가 난다.

docker create는 이미 존재하는 이미지를 컨테이너로 생성하는 명령어다. 이미지를 생성하는 명령어가 아니다.

 

해당 작업들을 마치고 docker ps -a(all)을 검색한 결과다.

기존에 존재하는 mysql, hello-world에서 create한 hello-world가 하나 늘었고, alpine이 추가되었다. test123은 존재하지 않는 이미지이기 때문에 컨테이너로 생성되지 않았다.

 

docker start <시작할 컨테이너 ID> : 이미 존재하는 컨테이너를 실행시킴.

이미 존재하거나 저장소에 있는 도커 이미지를 컨테이너로 생성 컨테이너 실행 요청 컨테이너 실행 (running)
docker create    
  docker start
docker run

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함