docker pull
docker pull 은 도커 이미지를 docker hub 으로 부터 가져올때 사용된다.
ubuntu, node 등 이미 준비된 여러 환경들을 이미지로 받아올 수 있다.
docker images
pull 또는 load 를 통해 로컬에 생성된 image 들을 조회할 수 있는 명령어다.
docker run -it [--gpus all] [image name] /bin/bash
가지고 있는 image 로 container 를 생성하는 명령어인데, 여러 옵션들이 존재한다.
--gpus 의 경우 만들어지는 container 가 gpu 를 사용하도록 명시하는 명령어로,
tensorflow 나 yolo 를 사용하는 docker container 를 생성할 때는 필수로 포함되는 옵션이다.
기본적으로는
docker run -it [image name] /bin/bash 를 통해 image 를 container 화 할 수 있는데,
여기서 마지막 /bin/bash 는 실행 스크립트를 /bin/bash 로 하겠다는 의미이다.
docker ps
docker ps -a
docker start [container name]
docker restart [container name]
docker stop [container name]
docker ps 는 현재 실행되고 있는 container 를 조회하는 명령어인데,
-a 옵션을 통해 실행되지 않고 멈춘 container 또한 확인할 수 있으며,
각각 start, restart, stop 을 통해 시작, 재시작 그리고 멈출 수 있다.
docker attach [container name]
attach 는 docker 에 진입할 때 사용하는 명령어로,
ubuntu image 로 생성한 container 에 접속한다면 root 로 접속된다.
접속한 container 에서 새로운 유저를 생성하고 해당 유저로 container 에 접속하고 싶다면
하기의 명령어를 사용해서 접속할 수 있다.
docker exec -it [--user username] [container name] /bin/bash
--user 옵션을 통해 root 계정으로 접속했을때 생성한 새로운 user 로 접속가능하다.
docker commit [container name] [new repository]:[tag]
내가 개발한 현재 docker container 를 새로운 이미지로 저장하고 싶다면
commit 명령어를 사용할 수 있다.
[container name] 에는 현재 개발한 container 의 이름,
[new repository] 에는 이미지명, [tag] 에는 버전 또는 추가 정보와 같이 tag를 입력하면 된다.
해당 명령어가 끝나면 docker images 를 통해 생성된 image 를 확인할 수 있다.
docker save -o [file name] [image name]
생성된 image 를 docker hub 에 올리는 방법도 있지만 .tar 파일로 압축해서 공유 및 저장할 수도 있다.
docker save 는 해당방법을 할 수 있도록 하는 명령어이며,
[file name] 에는 생성될 압축파일의 이름.tar,
[image name] 에는 압축할 image 이름이 위치한다.
해당 명령어가 끝나면 실행한 위치에 .tar 파일이 생성됨을 확인할 수 있다.
docker load -i [tar 파일명]
이 명령어를 통해 압축된 docker image tar 파일을 load 할 수 있다.
이 명령어들 외에도 container 를 압축, 압축한 container 파일을 로드하는 등 여러 다른 명령어들이 있으니 찾아보면 좋을 것 같다.