1. docker image pull [옵션] 이미지명[:태그명]

  • ex : docker image pull centos:7           CentOS v7를 다운로드한다 
  • 도커 hub에서 이미지를 다운받는다
  • Digest는 도커 레지스트리에 업로드한 이미지를 고유하게 식별하기 위한 암호화 키이다 (DCT - Docker Content Trust) 
 

GitHub - docker-library/repo-info: Extended information (especially license and layer details) about the published Official Imag

Extended information (especially license and layer details) about the published Official Images - GitHub - docker-library/repo-info: Extended information (especially license and layer details) abou...

github.com

2. docker image ls [옵션] [리포지토리명]

  • 다운로드하거나 가지고 있는 이미지의 목록을 표시한다 

3. docker image inspect 이미지명

  • 해당 이미지의 상세 정보를 확인할 수 있다. 
  • 주요 정보로는 이미지 ID, 작성일, docker 버전, CPU 아키텍처 등이 있다 

 

4. docker image tag  이미지명 사용자명/이미지명:태그 

  • 위 사진과 같이 가지고 있는 이미지에 해당 태그를 추가할 수 있다 자신의 repository에 업로드할 때 태그를 추가하여 업로드하면 좋다 
  • 여기서 중요한 점은 기존의 이미지인 centos와 새로 태그를 추가한 dldidfh/centos 이미지의 IMAGE ID가 같다는 것이다. 이는 이미지를 새로 생성한 것이 아닌 해당 이미지를 부르는 별명을 붙인 것이기 때문이다. 파일은 전혀 변경된 것이 없다 

5. docker search [옵션] 키워드 

  • 키워드를 기준으로 docker hub에 올라와 있는 이미지들을 검색한다 
  • 옵션으로는 --no-trunc 결과를 모두 표시, --limit n건의 검색 결과를 표시 , --filter=stars=n 즐겨찾기 n건 이상의 결과를 표시 star는 즐겨찾기를 누른 사람의 수를 뜻한다 

6. docker image rm [옵션] 이미지명 [이미지명]

  • 가지고 있는 이미지를 삭제한다 
  • 옵션에는 --force 이미지를 강제로 삭제, --no-prune 중간 이미지를 삭제하지 않음 
  • 위의 옵션은 되도록 사용하지 않는 것을 추천한다 

7. docker login [옵션] [서버]

  • 서버를 지정하지 않으면 docker hub에 접속한다 
  • 서버를 지정한다는 뜻은 자신이 가지고 있는 서버에 접속할 수 있다
    (개인은 1개의 private repository 이용 가능 더 많은 registry를 사용하고 싶다면 유료 서비스를 이용해야 한다)

8. docker image push 이미지명[:태그명]

  • docker image push dldidfh/centos:111 
  • dldidfh라는 계정의 repository에 centos:111이라는 이미지를 업로드한다

9. docker logout [서버명]

  • 서버명을 지정하지 않으면 docker hub에 로그인되어있는 아이디를 로그아웃 한다 

 

10. 컨테이너 생성 관련 명령어 

 

docker 자주 사용하는 명령어

docker ps  (docker ps [OPTIONS]) 로컬 도커 컨테이너 리스트를 보여준다  --all : 모든 컨테이너를 보여준다  --filter  : 입력 값에 따른 필터링된 결과를 보여준다  --format :  --last  N  : 최근에..

house-of-e.tistory.com

 

11. docker container commit [옵션] 컨테이너 식별자 [이미지명[:태그명]]

  • 컨테이너로부터 이미지를 작성한다 
  • 옵션으로는 --author  작성자 지정, --message  메시지 지정, --change 커밋 시 dockerfile 명령을 지정, --pause 컨테이너를 일시 정지하고 커밋한다 

12. docker container export 컨테이너 식별자 > tar파일명. tar 

  • 컨테이너를 tar 파일로 출력한다 

13. docker container import <파일 또는 URL> | - [이미지명[:태그명]]

  • 파일이나 URL형태의 외부 파일을 이용하여 이미지를 작성한다 

14. docker image save [옵션] <저장 파일명> [이미지명]

  • docker 이미지를 tar 파일로 저장한다 
  • docker image save -o export.tar 이미지명 
  • -o 옵션은 저장할 파일명을 지정한다 

15. docker image load [옵션]

  • tar 이미지로부터 이미지를 읽어온다 
  • docker image load -i export.tar 
  • -i 옵션은 파일명을 지정한다 

'infra > docker' 카테고리의 다른 글

(2) docker - Container 기초  (0) 2021.08.29
(1) docker - 인프라 기초  (0) 2021.08.25

docker ps     (docker ps [OPTIONS])

로컬 도커 컨테이너 리스트를 보여준다

 --all          : 모든 컨테이너를 보여준다

 --filter       : 입력 값에 따른 필터링된 결과를 보여준다

 --format    : 

 --last   N   : 최근에 생긴지 N번쨰 컨테이너를 보여준다 default = -1 (모두)

 --no-trunc : 

 --quiet      : 컨테이너의 ID만 보여준다

 --size        : 컨테이너의 총 사용 용량을 보여준다 

 

docker images   (docker images [OPTIONS] [REPOSITORY[:TAG]])

로컬 도커 이미지 리스트를 보여준다 

 --all   : 모든 이미지를 보여준다 

 --digests : digests도 보여준다 

 --filter : 입력 값에 따른 필터링된 결과를 보여준다

 --format

 --no-trunc

 --quiet : 이미지의 ID만 보여준다 

 

docker pull (docker pull [OPTIONS] NAME[:TAG|@DIGEST])

도커 허브에 올라가 있는 이미지를 로컬 도커에 다운받는다 

 --all  : 해당 레포지토리의 모든 tagged 이미지를 다운받는다

 --disable-content-trust  : 이미지를 인증받지 않고 다운받는다 

 --platform : 서버가 다중 플렛폼을 지원하는 경우 플렛폼을 설정한다

 --quiet : 출력내용을 조금 보여준다 

 

docker run    (docker run [OPTIONS] IMAGE [COMMAND] [ARG...])

docker run -itd --gpus '"device=1"' --name yangro --volume /home/ubuntu/share:/home/tf --publish 8888:8888 -p 6666:6666 my_image bash

도커 이미지를 가지고 컨테이너를 생성한다 

 --cpus : 할당할 CPU 개수를 정한다 

 --gpus : 할당할 GPU 개수를 정한다   --gpus all 모두할당

 --memory  : 메모리 제한을 설정한다 

 --name : 만들어질 컨테이너의 이름을 설정한다

 --pull : 컨테이너를 생성하기 전 설정 이미지를 도커허브에 업로드한다 

 --rm  : 컨테이너를 나오면 자동으로 종료한다 

 --publish : 로컬포트와 컨테이너의 포트를 연결한다 -p 8888:8888/tcp

 --volume  : 로컬폴더와 컨테이너의 폴더를 연결한다 -v /home/ubuntu : /home/ubuntu

 --tty  : 가상 tty를 연결한다 -t

 --interactive : attach 상태가 아니여도 STDIN 을 유지한다 -i

 --detach  : 컨테이너를 백그라운드에서 실행하고 컨테이너 아이디를 프린트한다 -d

 --ipc=host : 컨테이너 내부에서 pytorch를 실행시키면 메모리 할당 에러가 나기 때문에 컨테이너가 host와 같은 ipc namespace를 사용하도록 설정해야한다. IPC (POSIX / SysV IPC) 네임 스페이스는 명명 된 공유 메모리 세그먼트, 세마포어 및 메시지 큐를 분리한다.

 

docker exec  (docker exec [OPTIONS] CONTAINER COMMAND [ARG...])

실행중인 컨테이너에 새로운 명령어를 실행한다 

-itd : interactive tty detach

 

docker attach   (docker attach [OPTIONS] CONTAINER)

실행중인 도커 컨테이너에 표준 입출력으로 연결한다

 

docker  bulid ( docker build [OPTIONS] PATH | URL | -)

도커파일로부터 이미지를 생성한다 

 

docker stop   (docker stop [OPTIONS] CONTAINER [CONTAINER...])

실행중인 컨테이너를 정지한다 

--time  : 정해진 수만큼 뒤에 컨테이너를 정지한다  -t (default 10)

 

 

docker commit   (docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]])

docker commit -author yangro 컨테이너이름 저장할이미지이름

도커 컨테이너를 새로운 이미지로 생성한다 

--author  : 제작자 이름을 넣는다 (ex : asdasd@asd.com)

--change  : 생성되는 이미지에 도커파일 명령어를 적용한다 

--message : 커밋 메세지를 설정한다 

--pause  : 커밋중에 컨테이너를 정지시킬지 설정한다 (default True)

 

docker push (docker push [OPTIONS] NAME[:TAG])

도커이미지 또는 repository를 도커 hub에 등록한다 

--all-tags   : repository에 테그되어있는 모든 이미지를 등록한다 

 

'Machine Learning > ML Tool' 카테고리의 다른 글

Linux 자주 사용하는 명령어  (0) 2021.06.12

+ Recent posts