Today I Learn - 43

leliko·2021년 4월 19일
0

클라우드 엔지니어

목록 보기
44/53
post-thumbnail

Docker Log

컨테이너 로그 위치

/var/lib/docker/<CON_ID>/<CON-ID>-json.log

기본 로그 플러그인

json-file

로그 확인

docker logs <CON>

-f: Live View

unix time

https://www.epochconverter.com/

Docker 리소스 제한

Memory

  -m, --memory bytes                   Memory limit

CPU

  -c, --cpu-shares int                 CPU shares (relative weight)
      --cpus decimal                   Number of CPUs

Disk I/O

  --device-read-bps list           Limit read rate (bytes per second) from a device (default [])
  --device-read-iops list          Limit read rate (IO per second) from a device (default [])
  --device-write-bps list          Limit write rate (bytes per second) to a device (default [])
  --device-write-iops list         Limit write rate (IO per second) to a device (default [])

디스크 대역폭 확인

 dd if=/dev/zero of=a.out bs=1M count=100 oflags=direct
  • if: input file
  • of: output file
  • bs: block size
  • count: count
  • oflags=direct: 디스크 캐시 사용하지 않음.

Docker 이미지 생성

파일 복사

컨테이너 --> 호스트

docker cp CONTAINER:SRC_PATH DEST_PATH

호스트 --> 컨테이너

docker cp SRC_PATH CONTAINER:DEST_PATH

이미지 생성

docker commit -m "MESSAGE" <CONTAINER> <IMAGE>:<TAG>

이미지 확인 with go 템플릿

docker inspect -f "{{.Config.Cmd}}" apache:v1

CentOS with Apache Web Server

  • Base 이미지 실행
docker run -it --name con1 centos
  • 필요한 애플리케이션 복사/설치

    > yum install -y httpd
    > echo "<h1>hello container</h1>" > /var/www/html/index.html
    > ctrl-p - ctrl-q
  • 이미지 생성(commit)

docker commit -m 'Add Apache Web Server' con1 apache:v1
  • 실행 테스트
docker run -d --name web1 apache:v1 /usr/sbin/httpd -DFOREGROUND
docker ps
docker inspect web1 (IP 확인)
curl http://172.17.0.X
  • 컨테이너 재실행

    docker run -itd --name webcon apache:v1
  • 이미지 재생성

    docker commit -m 'Change Command' -c "CMD /usr/sbin/httpd -DFOREGROUND" webcon apache:v1.1
  • 이미지 CMD 확인

    docker inspect -f "{{.Config.Cmd}}" apache:v1.1

Docker diff

docker diff <Container>
  • A: Add
  • C: Change
  • D: Delete

Apache with Ubuntu Base Image

docker run -it --name webtemp1 ubuntu
> apt update && apt install -y apache2
> echo "<h1>hello container</h1>" > /var/www/html/index.html
> ctrl-p+q
docker commit -m 'Add Apache2 packages' -c 'CMD /usr/sbin/apache2ctl -DFOREGROUND' webtemp1 ubuntu-apache:v1

Image History

docker history <IMAGE>

Image Directory

docker inspect -f "{{.GraphDriver.Data.UpperDir}}" <IMAGE>
sudo -i
cd /var/lib/docker/overlay2/<ID>/diff

Image 관련 기타

Local Image --save--> File

File --load--> Local Image

Running Container --export--> File

File --import--> Local Image

Image Tag

docker tag <Local IMAGE>:<TAG> <NEW IMAGE>:<NEW TAG>
profile
클라우드 엔지니어 지망자

0개의 댓글