Kimuksung
Kimuksung 안녕하세요. 분산처리에 관심이 많은 생각하는 주니어 Data Enginner입니다.

Docker 기초

Docker 기초

Docker를 사용하면서 사용했거나 필요하다고 생각되는 명령어 위주로 정리히보았습니다.

Container
  • 공통 OS 환경에서 구성된 가상 컨테이너
Run
  • -d : 백그라운드 옵션
  • -p : 포트포워딩
  • -v : 볼륨 마운트
  • -rm : 내부 생성된 값을 제거(캐싱)
  • command option : 실행 시킬 command를 뒤에 작성 ( CMD를 덮어쓰니 주의 )
  • $PWD는 현재 경로 옵션
1
2
3
4
5
6
$ docker run -p 3306:3306 /usr/bin/hadoop:/var/bin/hadoop_home hadoop -d
$ docker run -p 3306:3306 -v $PWD/hadoop:/var/bin/hadoop_home hadoop -d

# command option
$ docker run --name test entry_test ps -aef
$ docker-compose -f target.yml up -d
Commit
1
docker commit container image
Stop
  • Container 중지 사용 ( 즉시 중지 X )
  • -t : 대기 시간 지정
  • -f : 즉시 중지 옵션
  • -v : mount volume 까지 삭제
1
2
3
4
5
docker stop container
docker stop -t second container
docker stop -f container
docker stop container1, container2, .. 
docker stop -v container
Kill
  • 즉시 중지 시킨다. ( 치명적일 수 있으니 사용 X)
1
docker kill container
Access
  • exec
1
2
# bash shell
docker exec -it container /bin/bash
Network
  • link
    • 연결할 컨테이너 이름:alias
    • 현재는 network 옵션으로 사용하기에 deprecated

      1
      
        docker run --name test -p 80:80 --link db:db nginx
      
  • 컨테이너는 eth0이라는 네트워크 인터페이스를 할당 받고 Host는 다른 컨테이너와 연결을 위해 docker0라는 연결 통로를 만들어준다.
  • network
    • bridge : 컨테이니끼리 통신하기 위함
    • host : host와 동일한 환경
    • None
1
2
docker network ls
docker network inspect bridge

docker-network

ehto0

기타
  • logs : 컨테이너 모니터링
1
2
3
docker logs container
# 실시간
docker logs container -f
  • ps : 현재 구동중인 컨테이너
1
2
3
docker ps
# 전체 컨테이너
docker ps -a
  • stats : resource 확인
1
docker stats