지난번 포스팅에서 윈도우 환경에서 도커 설치하는 법을 알아보았다.

이번 포스팅에는 도커에 우분투 이미지를 설치하면서 같이 관련 도커 명령어를 알아볼 것이다.

 

 

도커 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://0902.tistory.com/4

https://nicewoong.github.io/development/2017/10/09/basic-usage-for-docker/

https://www.leafcats.com/190

+ Recent posts