Kubernetes는 소프트웨어 산업의 사실상 표준으로 Docker 기반의 플랫폼입니다. 이제 모든 개발은 Docker를 염두에 두고 개발을 합니다. 가볍고, 빠르고, 모든 의존성을 포함하고 있어서 개발과 배포를 용이하게 하기 때문입니다.
Docker는 패키징 기술입니다. 애플리케이션 실행에 필요한 라이브러리, 런타임, 설정파일 뿐만 아니라 운영체제가 제공하는 네트워크, 볼륨, 프로세스, IPC 까지 함께 패키징합니다. 이 패키징 결과물이 Docker Image 이며, Docker Image를 이용해서 어디에서든 동일한 작동을 보장하는 애플리케이션을 배포 할 수 있습니다.
Docker는 서버 가상화와 비교해서 아래의 특징을 가지고 있습니다.
- 하드웨어를 가상화하지 않는다.
- 운영체제 위에서 가상화 한다.
- 격리된 특징을 가지는 프로세스이며 따라서 빠르고, 가볍다.
- 가볍고 빠른실행
- 쉬운 배포 및 확장
- 빠른 구성 및 배포
- 컨테이너 오케스트레이션
- 개발자와 운영팀과의 협업 강화
# Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc# Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update터미널 창에 입력
3.sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin최신 버전으로 업데이트
4. docker version 버전확인
5. sudo docker images 이미지 확인
6. sudo groupadd docker 도커를 그룹에 추가
7. sudo usermod -aG docker bjh 도커 유저에 bjh 계정 추가
8. newgrp docker 바로 수정 반영
9. docker images 루트계정없이 이미지 확인
- nginx 이미지 다운
- https://hub.docker.com/ 접속
- 검색창에 nginx official 입력
- $ docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -p 8080:80 -d nginx
입력
- run : 실행
- --name : 컨테이너 이름
- -v 볼륨
-d 데몬으로 백그라운드에서 실행- nginx 이미지 이름
- p 8080:80 80포트를 8080포트로 포트 포워딩
- docker ps : 도커 실행 확인 / -a옵션넣으면 중지된 컨테이너도 확인가능
- docker stop CONTAINERID or NAME
- docker start CONTAINERID or NAME
- docker rm : 컨테이너 삭제
- docker images : 다운로드 받은 Docker image 목록 출력
- docker rmi : image 삭제
- docker build : image 빌드
- docker tag : image에 태깅