1. Docker 개념 및 사용 시 이점
Docker란 가상 머신처럼 독립된 실행환경을 만들어 주는 것으로, 운영체제를 설치하는 것과 유사한 역할을 한다.
Docker는 일관된 환경을 제공하기 때문에 개발 및 코딩을 편안하게 만들어주고, Docker 이미지는 변경이 불가하기 때문에 개발환경에서 운영환경까지 어플리케이션 환경이 변경되지 않는다는 이점이 존재한다.
2. Images와 Container 개념의 이해
Docker는 client(docker)와 서버(dockered)로 구성되어 있다.
Docker Images는 read-only의 docker container를 생성하기 위한 template이고,
Container는 images가 실제 메모리에 로딩된 instance이다. 하나의 images로 유사한 container를 만들 수 있다.
Registry는 Docker hub로 images들의 저장소이다.
Container는 Host OS 위에 docker가 운영되는 반면, Virtual Machine은 Full Host OS가 설치된다. 그러다보니 Virtual Machine은 overhead가 굉장히 높다. 즉, 비슷해보이는 Container와 Virtual Mahicne의 차이점은 Host OS 설치 여부에 있다.
3. Docker 사용방법
3-1. Docker Image 검색(docker search) 및 다운로드(docker pull)
다음 명령어를 통해 docker hub에서 이미지를 검색하고 받아올 수 있다.
sudo docker search [검색단어] # docker에서 이미지 검색
sudo docker search centos # 예시
sudo docker pull <이미지 이름>:<태그>
sudo docker pull centos # 예시: 최신 버전의 centos 이미지 받아오기
sudo docker pull centos:centos7 # 예시: 특정 버전(특정 tag)의 centos 이미지 받아오기
3-2. Docker image에서 container 생성, 실행, 중지
* docker run: container 생성 및 실행
다음 명령어를 입력하면 docker 이미지에서 container를 생성 및 실행할 수 있다.
docker run <옵션> <이미지 이름:Tag이름> <실행할 파일> # docker 이미지에서 container 실행
sudo docker run -i -t centos:centos7 /bin/bash # 예시
* docker create: container 생성 (바로 실행되지는 않음)
다음 명령어를 입력하면 docker 이미지에서 container를 생성할 수 있다.
docker create -i --name container-1 ubuntu #ubuntu 이미지로 container-1 이라는 이름의 새로운 도커 컨테이너를 생성
* docker start: 중지된 container를 실행
docker start [컨테이너 이름 or ID]
docker start container-1 # 예시: container-1라는 중지된 컨테이너를 실행
* docker stop: 실행 중인 container를 중지
docker stop [컨테이너 이름 or ID]
docker stop container-2 # 예시: 실행중인 container-2를 중지
3-3. docker 이미지 리스트 확인 및 삭제
다음 명령어를 통해 설치된 docker images list를 확인할 수 있다.
sudo docker images
이미지 삭제는 docker rmi 명령어를 사용하면 된다.
sudo docker rmi [image id or name]
sudo docker rmi ubuntu # 예시 ubuntu 이미지 삭제
3-4. 동작 중인 container 확인 및 삭제
다음 명령어를 통해 동작중인 container를 확인할 수 있다.
sudo docker ps
다음 명령어를 통해 정지된 container를 확인할 수 있다.
sudo docker ps -a
다음 명령어를 통해서 container를 삭제할 수 있다.
sudo docker rm [container id or name]
sudo docker rm container-1 # 예시: container-1 라는 이름의 컨테이너 삭제
docker rm -f 명령어를 사용하면 container를 강제로 삭제할 수 있다.(즉 실행중인 container를 중지시킨 뒤 삭제할 수 있다.)
설명이 길었는데, 요약하자면
이미지가 없을 때는 pull -> create -> start (또는 pull -> run) 으로 컨테이너를 실행하고
이미지가 있을 때는 create -> start (또는 run)으로 컨테이너를 실행한다.
참고문헌:
https://kibua20.tistory.com/135
'기타 > 우분투' 카테고리의 다른 글
Ubuntu 부팅 이후, 마우스 키보드 동작 안될 때 (1) | 2023.01.05 |
---|