devops

Docker 명령어 정리 본문

DevOps/Docker

Docker 명령어 정리

vata500 2022. 5. 25. 17:14
반응형

Command

Docker 정보

docker -v

  • docker -v, docker --vesion : 설치된 도커의 버전 확인
  • docker version
  • docker system info

Image 명령어

docker container commit server server:latest (컨테이너 server를 이미지 server:latest 로 만들기)

  • docker image pull [option] <image-name>[:tag]
    ex) docker image pull nginx:latest (최신 버전 nginx 이미지를 다운로드)
  • docker image ls : 도커 이미지 리스트 확인
  • docker image inspect <image-name>[:tag] : 도커 이미지 상세 정보
    ex) docker image inspect nginx:latest
  • docker search [option] <keyword> : 도커 허브에 있는 이미지 검색
  • docker container commit [option] <container name> <Image-name:tag> : 해당 컨테이너를 이미지로 생성

Cotainer 명령어

  • docker container run <image> <command>: image를 컨테이너로 생성하고 명령어 실행

    ex) docker container run --name ubuntu-os ubuntu:latest /bin/echo 'hello world' (최신 버전 ubuntu 이미지로 컨테이너 생성하고 /bin/cho 'hello world' 명령어 실행, 컨테이너 이름은 ubuntu-os)

    ex) docker container run -d -p 8080:80 server:latest (최신 버전 server 이미지로 컨테이너 생성하고 포워딩 설정, 8080은 Localhost의 포트, 80은 컨테이너의 포트로 8080과 80을 연결, -d로 백그라운드 실행)

* -d는 detach로 백그라운드 실행을 의미, -p는 포트 포워딩

docker container ls

  • docker container ls [option] : container 상태 확인
  • docker container ps 
  • docker container stats <container name>
  • docker stop <container name> : 컨테이너 중단
  • docker start <container name> : 컨테이너 시작
  • docker container rm <container name> : 컨테이너 삭제
  • docker container rm -f <container name> : 강제 종료 후 삭제

실행 명령어 exec, attach 

둘다 docker에 접속하는 명령어다. exec은 현재 작동 중인 컨테이너에 진입할 때 사용하는데, 실행 중인 상태에 영향을 주지않고 명령어를 입력할 수 있다. 그러나 attach는 작동 중인 컨테이너가 restart된다.

docker exec 옵션

docker exec -it <container name> /bin/bash : 외부에서 컨테이너 쉘 진입할 때 사용

docker attach <container name> : 실행되고 있는 컨테이너에 접속하는 명령어.

컨테이너 log

  • docker logs <container name>
  • docker logs --tail 10 : 컨테이너 로그 10줄만 확인
  • docker logs -f : 컨테이너 로그 실시간 확인

Docker Compose

  • docker-compuse up : docker-compose.yaml로 정의된 image를 컨테이너로 실행 (-d를 하면 백그라운드 실행)
  • docker-compose down : docker-compose.yaml으로 정의된 이미지를 이용해 컨테이너 종료
  • docker-compose up <image name> : 특정 이미지만 컨테이너로 실행

https://docs.docker.com/compose/compose-file/

 

Compose specification

 

docs.docker.com

[docker-compose.yaml 예시]

services:
  frontend:
    image: awesome/webapp
    ports:
      - "443:8043"
    networks:
      - front-tier
      - back-tier
    configs:
      - httpd-config
    secrets:
      - server-certificate

  backend:
    image: awesome/database
    volumes:
      - db-data:/etc/data
    networks:
      - back-tier

volumes:
  db-data:
    driver: flocker
    driver_opts:
      size: "10GiB"

configs:
  httpd-config:
    external: true

secrets:
  server-certificate:
    external: true

networks:
  # The presence of these objects is sufficient to define them
  front-tier: {}
  back-tier: {}

 

[위 yaml의 구성]

반응형
Comments