Docker

방지환·2024년 10월 16일

정리

목록 보기
3/5

- Docker사용 이유

Kubernetes는 소프트웨어 산업의 사실상 표준으로 Docker 기반의 플랫폼입니다. 이제 모든 개발은 Docker를 염두에 두고 개발을 합니다. 가볍고, 빠르고, 모든 의존성을 포함하고 있어서 개발과 배포를 용이하게 하기 때문입니다.

- Docker란

Docker는 패키징 기술입니다. 애플리케이션 실행에 필요한 라이브러리, 런타임, 설정파일 뿐만 아니라 운영체제가 제공하는 네트워크, 볼륨, 프로세스, IPC 까지 함께 패키징합니다. 이 패키징 결과물이 Docker Image 이며, Docker Image를 이용해서 어디에서든 동일한 작동을 보장하는 애플리케이션을 배포 할 수 있습니다.
Docker는 서버 가상화와 비교해서 아래의 특징을 가지고 있습니다.

  • 하드웨어를 가상화하지 않는다.
  • 운영체제 위에서 가상화 한다.
  • 격리된 특징을 가지는 프로세스이며 따라서 빠르고, 가볍다.

- 장점

  • 가볍고 빠른실행
  • 쉬운 배포 및 확장
  • 빠른 구성 및 배포
  • 컨테이너 오케스트레이션
  • 개발자와 운영팀과의 협업 강화

- Docker Ubuntu 설치

  1. https://docs.docker.com/engine/install/ubuntu/ 이동
# 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 루트계정없이 이미지 확인

Docker hub

  • 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 명령어

  • 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에 태깅

0개의 댓글