지난번 포스팅에서 윈도우 환경에서 도커 설치하는 법을 알아보았다.
이번 포스팅에는 도커에 우분투 이미지를 설치하면서 같이 관련 도커 명령어를 알아볼 것이다.
도커 Image 검색하기
$ docker search [옵션] <검색어> |
먼저 이미지 설치 전에 어떤 이미지들이 있는지 궁금하기도 하고 이미지에 완전한 이름도 모를수도 있으니 검색을 통해 알아보자.
ubu로만 검색해도 우분투 관련 이미지들이 쭈욱 나온다.
명령어 옆 --help를 명령어에 대한 설명과 옵션값, 옵션설명을 볼 수 있으니 참고하면 되겠다. default로 limit이 25라 ubu검색결과가 25건 나왔었다. 맨위에 stars가 가장 높은데 이는 docker hub 사용자가 해당 이미지를 즐겨찾기 해놓은 것이다.
도커 Image 다운
$ docker pull [옵션] [경로]<이미지명>[:태그명] |
경로를 생략시 docker hub에 있는 이미지를 받고 태그를 생략시 가장 최신 버전을 받는다. (:latest)
검색시 나오던 가장 위에 ubuntu를 받았고 경로, 태그를 생략해서 docker hub에있는 가장 최신버전을 다운 받았다.
docker images 명령어로 다운받은 이미지 확인! 잘 받아졌다.
도커 이미지로 컨테이너 생성
$ docker create [옵션] <이미지명> [명령어] [인자..] |
주로 --name 옵션을 많이 사용하는듯하다. 컨테이너 이름을 지정해주는 옵션이다. --name옵션을 지정해주지 않으면 도커가 알아서 이름을 지정해준다. 직접 해보니 매번 다른이름으로 생성된다. (..직박구리 같은건가..)
con_ubuntu라는 이름으로 우툰투이미지로 컨테이너를 만들었다.
바로 docker ps -a 명령어로 만들어진 컨테이너 확인. STATUS가 Created이다.
생성된 컨테이너 실행
$ docker start [옵션] <컨테이너명> [컨테이너명2...] |
바로 방금 만든 컨테이너를 시작하고 ps -a로 확인해 보았는데 아니 바로 STATUS값이 꺼졌다고 표시중이다..
알아보니 컨테이너를 create할때 -it 옵션을 안주어서 그랬다. 나는 처음에 -it옵션이 쉘에 접속할때나 쓰는건줄 알았는데 아닌가 보다.
여기서 컨테이너 관련 자주쓰이는 옵션들을 알아보고 가자.
-d | detached mode 흔히 말하는 백그라운드, 데몬 모드 |
-p | 호스트PC와 컨테이너의 포트를 연결 (포워딩) |
-e | 컨테이너 내에서 사용할 환경변수 설정 |
–name | 컨테이너 이름 설정 |
–rm | 프로세스 종료시 컨테이너 자동 제거 |
-i | 상호 입출력 |
–t | tty를 활성화하여 bash 쉘을 사용 |
컨테이너를 지우고 -it옵션을 추가하여 다시 만들어 start하고 확인해보니 STATUS가 Up상태로 잘 바뀌었다.
컨테이너 접속
$ docker attach [옵션] <컨테이너명> |
실행중인 컨테이너만 접속이 가능하다.
기본적인 리눅스 명령어를 쳐보았다. 잘 나온다.
이렇게 이미지를 찾고, 받고 컨테이너를 만들고 실행하고 접속하고를 알아보았다.
이미지를 찾고 다운받는건 매번 필요하지 않겠지만 컨테이너를 만들고 실행하고 접속하고는 꽤 자주 할거같은데 명령어가 나누어져 있다보니 귀찮다.
역시 한번에하는 명령어가 있다.
pull ~ create ~ start ~ attach를 한번에
$ docker run [옵션] <이미지명> [명령어] [인자...] |
해당 이미지가 없으면 다운받고 없으면 있는 이미지로 컨테이너를 만들어 실행까지 시킨다.
$ docker run -it --name con_ubuntu ubuntu 한줄이면 위에 attach하여 쉘에 접속한거까지 한번에 된다.
참고 :
https://nicewoong.github.io/development/2017/10/09/basic-usage-for-docker/
'Docker' 카테고리의 다른 글
[Docker] Dockerfile을 이용한 이미지 생성 및 docker hub에 배포하기 (0) | 2020.06.14 |
---|---|
[Docker] 데비안 컨테이너 안에 nginx설치 후 php 연동하기 (0) | 2020.05.30 |
[Docker] 윈도우에서 도커사용시 웹서버 포트포워딩 (oracle VM포트포워딩) 과 과제.. (0) | 2020.05.26 |
[Docker] 도커에 MySQL Image 설치하고 실행하기를 가장한 attach와 exec 차이점 (0) | 2020.05.14 |
[Docker] tool box를 이용해 윈도우에 도커 설치하기 (1) | 2020.05.12 |