VISION HONG
article thumbnail

자주 사용하는 도커 명령어를 정리해 보려고 한다. gpu 리눅스(우분투) 서버를 사용하게되면서 도커의 필요성이 느껴져서 공부를 하게 되었는데 명령어를 자꾸 까먹어서 자주쓰는 명령어들을 블로그에 정리하려고 한다. 

기본 명령어

1.  현재 보유중인 도커 이미지 확인

sudo docker images

2. 현재 작동중인 도커 컨테이너 확인

sudo docker ps

3. 모든 도커 컨테이너 확인

sudo docker ps -a

4. 도커 이미지 삭제

sudo docker rmi [이미지ID]
  • 이미지를 삭제하기 위해서는 컨테이너가 삭제 되어야 함

5. 도커 컨테이너 삭제

sudo docker rm [컨테이너ID]
  • 컨테이너가 삭제되기 위해서는 컨테이너가 중지되어야 함

6. 도커 컨테이너 중지/재시작

sudo docker stop [컨테이너ID]
sudo docker restart [컨테이너ID]

7-1. 도커 이미지 추가(Hub.docker.com에서 받아올 경우)

docker pull [이름]:[태그]

7-2. 도커 이미지 추가(도커파일을 사용할 경우)

docker build -t [사용할 이름]:[사용할 태그] [도커파일 위치(현재위치에 도커파일 있으면 . 사용)]

8. 도커 컨테이너 생성

sudo docker run --gpus all -it -p [서버에서 쓸 포트]:[컨테이너 포트] -v [서버경로]:[컨테이너 경로] [컨테이너 이름]:[컨테이너 태그]
  • 여기서 컨테이너 메모리로인한 에러를 방지하려면 위 코드 사이에 --ipc=host 를 적어주면 된다.
  • 컨테이너 이름을 주고 싶으면 -it앞에 --name [사용할이름]을 적어주면 된다.
  • 만약 1회성으로 컨테이너를 만들고 싶다면 -it 뒤에 --rm을 붙이면 된다.

9. 컨테이너를 이미지로 뜨고싶을 때

sudo docker commit [컨테이너ID]
  • 컨테이너 안에서 새로운 라이브러리를 설치하더라도 해당 컨테이너를 나오면 초기화가 되기 때문에 새로 설치하거나 버전을 변경했다면 새로 이미지를 만들어야 하는 경우가 있다.

10. 도커 컨테이너에서 쓰는 주피터의 토큰을 찾고 싶을 때

sudo docker exec [컨테이너ID] jupyter lab list # 주피터 랩
sudo docker exec [컨테이너ID] jupyter notebook list # 주피터 노트북

11. 도커 컨테이너와 서버 사이에서 파일을 주고 받을때

sudo docker cp [서버경로] [컨테이너id]:[컨테이너경로]  # 서버 -> 컨테이너
sudo docker cp [컨테이너id]:[컨테이너경로] [서버경로]  # 컨테이너 -> 서버
profile

VISION HONG

@Jeff Hong

깃허브 블로그로 이전했습니다. https://visionhong.github.io/