본문 바로가기

메뉴얼

Docker image와 container 생성

<docker 설치 skip>

Docker image 생성

  • 사용하고자 하는 환경에 근접한 image를 검색한다. 터미널에서 docker search [키워드] 혹은 docker hub 사이트에서 찾는 방법이 있다. (추천 허브: pytorch/pytorch - Docker Image | Docker Hub)
  • 그대로 image를 생성하기 위해서는 아래의 명령어를 terminal에 입력
$ docker pull [Image name]:[Tag]
  • 검색한 image를 수정하여 사용하려면 scirpt를 만들어서 작업할 수 있다.
$ mkdir dockerImg
$ vi ./dockerImg/dockerfile

파일 내 예시)

FROM [Image name]:[Tag]
RUN mkdir -p /home/py
WORKDIR /home/py

* pip install 작업을 수행해도 되지만 수행 중에 오류 발생시 처음부터 image를 build 해야하므로 장단이 존재한다.

  • 파일 작성 후 아래의 명령어를 통해 docker image를 확인한다.
$ docker build -t [New image name]:[New tag]
  • 아래의 명령어로 생성된 docker image list을 확인할 수 있다.
$ docker images

Docker container 생성

생성된 image를 통해 container를 생성할 수 있다.

예시)

$ nvidia-docker run --gpus '"device=5"' -it -p 30500:8888 \
$ -v /data/home/[User]/.ssh:/root/.ssh -v [Container를 띄울 경로]:/home/py \
$ --rm [Image name]:[Tag]
  • nvidia-docker: docker wrapper command로 사용법은 동일하다
  • --gpus: 할당할 gpu #
  • -it -p: [연결할 port]:8888
    * 동일한 장비에 컨테이너를 여러 개 띄울 시 port를 변경해주면 된다
  • -v: [연결할 서버 내 directory]:[연결할 container 내 directory]
  • --rm: container를 내일 시에 작업내용 삭제 → commit 후 save 필요

생성된 docker container는 서버 내에서 다음의 명령어를 통해 확인이 가능하다.

$ docker ps

container 접속은 위의 명령어에서 나온 id를 통해 접속할 수 있다.

$ docker attach [Container id]

접속한 container Shell에서 exit 또는 Ctrl+D를 입력하면 컨테이너가 정지된다. 여기서는 단축키 Ctrl+P와 Ctrl+Q를 차례대로 입력하여 컨테이너를 정지하지 않고, 컨테이너에서 빠져나올 수 있다.

 

참고
Docker 개념과 명령어 사용 방법 및 예제 (tistory.com)
docker run 커맨드 사용법 | Engineering Blog by Dale Seo

 

'메뉴얼' 카테고리의 다른 글

Docker Export/Import  (2) 2023.06.13
SSH를 통한 서버 접속  (0) 2023.01.03