[Docker] Docker CLI 를 통해 image 당겨오기
Preview
-
docker/whalesay
-
danielkraic/asciiquarium
개요
도커란 컨테이너 기술을 이용한 오픈소스 가상화 플랫폼이다.
도커를 사용하면,
응용 프로그램을 컨테이너로 패키지화하여
어디에서나 운영 체제나 하드웨어 등에 상관없이 실행할 수 있도록 만들 수 있으며
이를 통해 프로그램의 이식성이나 확장성의 효율을 극대화 시킬 수 있는 장점을 가지고 있다.
도커 이미지를 실행하면 컨테이너가 된다.
도커 이미지란 ?
도커 이미지란,
도커 컨테이너를 생성하는데 필요한 파일 값이나 설정 값 등을
포함하고있는 응용프로그램 환경을 패키징화 해 놓은 형태를 말한다.
도커 이미지는 불변성과 계층적인 구조를 갖고 있다.
한 번 생성된 이미지는 수정되지 않으며,
수정하고자한다면 새로운 이미지를 생성해야한다.
이전 이미지를 기반으로 새로운 이미지를 만들기 때문에,
이전 이미지를 재사용함으로써 이미지의 크기를 줄일 수 있고 이를 통해 빠른 배포와 실행이 가능하다는 장점이 있다.
이러한 이미지들은 도커 허브 등의 저장소에 업로드 하고,
필요한 시점에 다운로드하여 컨테이너를 생성하고 실행할 수 있다.
이미지 가져오기
도커 Hub 에서는 도커 이미지를 찾거나 사용 방법에 대해 확인할 수 있다.
Docker Hub : https://hub.docker.com/
docker/whalesay
- pull
- 레지스트리에서 이미지 혹은 레포지토리를 가져온다.
$ docker image pull docker/whalesay:latest
- ls
- 설치된 혹은 이미 갖고있던 이미지의 목록을 보여준다.
$ docker image ls
- run
- 받아온 이미지를 실행시킨다. (이미지 -> 컨테이너)
$ docker container run --name myName docker/whalesay:latest cowsay boo
- ps -a
- 컨테이너의 목록을 보여준다.
- -a 옵션을 통해 존재하는 모든 컨테이너를 보여준다.
$ docker container ps -a
- rm
- 생성한 컨테이너를 삭제한다.
$ docker container rm myName
생성한 docker/whalesay 이미지 지우기
$ docker image rm docker/whalesay
danielkraic/asciiquarium
이번엔 아쿠아리움 이미지가 담긴 레포지토리를 당겨오려고 한다.
- pull
$ docker image pull danielkraic/asciiquarium
- run
$ docker container run -it --rm danielkraic/asciiquarium:latest
이전에 당겨왔던 이미지들과 다르게 에러 메세지가 출력된다.
the input device is not a TTY.
If you are usin mintty. try prefixing the command with ‘winpty’
해당 에러로 검색을 해 보니,
window os 에서 git bash
를 Mintty 로 사용할때는 지원을 하지 않는다고 한다.
docker 명령어 앞에 Mintty 를 붙여 다시 실행 해 보니 정상적으로 실행이 되었다.
<br
Reference
Docker for Windows: Interactive Sessions in MinTTY Git Bash:
http://willi.am/blog/2016/08/08/docker-for-windows-interactive-sessions-in-mintty-git-bash/
https://forgiveall.tistory.com/471