이 포스팅은 위키북스의 시작하세요! 도커/쿠버네티스 를 보고 공부한 내용을 바탕으로 하고 있습니다. (문제가 된다면 비공개 처리하겠습니다😂😂)
이미지는 컨테이너를 생성할 때 필요한 요소이며, 가상머신을 생성할때 사용하는 iso 파일과 비슷한 개념이다.
[저장소이름]/[이미지 이름]:[태그]
도커 이미지의 종류는 운영체제부터 애플리케이션, 각종 도구까지 다양하게 있다. 이런 이미지로 컨테이너를 생성하면 해당 목적에 맞는 독립된 공간이 생성된다. 컨테이너에서 무엇을 하던 원래 이미지는 영향을 받지 않는다. 변경된 사항은 컨테이너 계층에 저장되기 때문이다.
$ sudo docker run -it ubuntu:18.04
이미지 다운 + 컨테이너 생성 + 실행을 동시에 하는 명령이다. -it
는 컨테이너 상호작용 입출력을 가능하게 한다. 즉, 컨테이너에 명령어 입력이 가능해진다.
ubuntu:18.04는 도커 허브가 가진 공식 이미지이고 로컬에서 없으면 이를 자동으로 내려받게 된다. 컨테이너는 계속 실행시키고 싶은데 빠져나오는 방법은 Ctrl + P, Q
를 입력하면 된다.
$ sudo docker images
방금 중앙 허브로부터 다운받은 이미지
를 출력해준다. 우분투인데도 사이즈가 상당히 작은 것을 알 수 있다.
$ sudo docker pull centos:8
run이랑 다르게 컨테이너를 생성까지 하기는 싫고 이미지만 다운 받고 싶을 때 사용할 수 있는 명령이다.
$ docker create -it --name mycentos centos:7
다운 받은 이미지를 통해 컨테이너 생성을 하려면 docker create 명령을 사용하면 된다. --name
을 통해 컨테이너 이름을 지정해줄 수 있다. 이걸 안해주면 자동으로 이름을 만들어준다.
$ sudo docker start 컨테이너이름 혹은 컨테이너 아이디(대충 앞에 3~5글자)
컨테이너 실행 명령이다. 접속까지 하려면 docker attach 컨테이너이름 혹은 컨테이너 아이디
를 추가로 입력해줘야 한다.
컨테이너 목록을 확인하려면 $ docker ps
명령을 실행해보면 된다. 현재 2개의 컨테이너가 실행중인 상태임을 알 수 있다.
정지된 컨테이너까지 보려면 -a
옵션을 추가해주면 된다.
종료된 컨테이너를 삭제하려면 $ docker rm 컨테이너
명령을 실행하면 된다. 하지만, 실행중인 컨테이너를 삭제하려고 하면 삭제가 안될 것이다. 이럴 때는 $ docker stop
으로 정지한 다음 삭제하던가, docker rm -f
로 강제 삭제하는 방법이 있다.
최근 윈도우에서 도커를 활용하는 연습을 하고 있다. 윈도우에서도 이제 컨테이너를 쉽게 띄우고 이용할 수 있게 되었다. 와... 바로 윈도우에서 리눅스를 사용할 수 있다니... 👏👏
도커 이미지와 컨테이너 목록 확인.