🐳Docker (KT DS 4일차)

Jake_Young·2020년 8월 6일
0

도커, Docker

목록 보기
6/9
post-thumbnail

🤣 수업 내용

Data Volume이란?

  • 도커 데이터 볼륨은 컨테이너에 저장될 데이터를 컨테이너가 아닌 도커 호스트에 저장하기 위한 것
  • 그 결과 데이터 볼륨은 컨테이너 간의 데이터를 공유할 때 활용한다.
  • 컨테이너를 실행할 때 데이터 볼륨을 지정해야 한다.

Volume 쓰는 법

  • docker volume create convol
  • docker volume ls
  • find / -name "convol"
  • docker run -it --name con100 -v convol:/data alpine
  • "/ # cd /data"
  • "/data # touch secret.file"
  • docker run -it --name con200 -v convol:/data alpine
  • "/ # cd data/"
  • "/data # ls"

Host Volume과 Guest Volume이 충돌하면..

  • Host Volume이 우선한다(?)
  • 체크할 필요가 있다....(뒷 사람 피셜)

Dockerfile에서 RUN, CMD, ENTRYPOINT의 차이점

  • RUN은 만들 때 쓰는 것
  • CMD는 만들고 나서 선택적으로 하는 것
  • ENTRYPOINT는 만들고 나서 반드시 해야하는 것
  • CMD는 나중에 그 컨테이너를 켰을 때 실행 시킬 명령어 (실행 시킬 것을 명시하면 생략)
  • ENTRYPOINT는 실행 시킬 것을 명시하는 것과 상관없이 무조건 실행
    • 오히려 에러남
    • ENTRYPOINT가 있을 때 다른 것을 명시하면 에러남
    • ENTRYPOINT가 ping으로 지정되어 있으면 run 마지막에 ping 뒤에 올 명령어만 지정 가능

Container를 연결할 때는 Switch가 중요하다

  • Switch는 LAN을 만들 때 중앙에서 통제하는 장치
  • 가상으로 Switch를 만들면 그걸 Bridge라고 한다
  • Switch 밖으로는 NAT 형태로 나간다

Docker에서 지원되는 Drive 종류에 따라 네트워크 기능이 달라진다

  • Bridge (기본)
  • Host (호스트와 네트워크를 공유, 포트포워딩이 필요 없다)
  • None (네트워크에 연결 안 할 때)
  • Overlay (Docker Swarm이나 Kubernetes에서 쓰는 네트워크)
  • IPVLAN ()

Docker Swarm은 서버 자체를 관리하는 것

  • 호스트 OS 자체가 죽더라도 새로 켜고 옮기고 해주는 것

😄 명령어 모음

docker rm $(docker ps -aq) -f

  • 살아있는 컨테이너 다 죽이기.

docker volume inspect "volume 이름"

  • volume에 대한 상세 내용을 볼 수 있다.
  • inspect는 image, container 등에 다양하게 활용할 수 있다.

disk(partition) 하나를 통째로 volume 지정할 때

  • docker volume create --driver local --opt type=ext4 --opt device=/dev/sdb1 convol

NAS server의 공유 볼륨을 Container Data Volume으로 사용하는 방법

  • docker volume create --driver local --opt type=nfs --opt o=addr=10.0.2.53,rw --opt device=:/consharedvol nfsvol

실행중인 다른 Container의 volume을 Data volume으로 사용하기

  • docker run --name cona -it -v /root/data:/data centos /bin/bash
  • docker run --name cona -it --volume-from cona centos /bin/bash

Docker image 지우기

  • docker rmi "이미지 이름"

😋 꿀팁

용량 1기가 짜리 파일 쉽게 만드는 법

  • fallocate -l 1g big.file

핸드폰 LTE 데이터를 껐다 켤 때마다 IP 주소가 바뀐다.

  • IP로 중복 검사를 체크하는 서비스에는 스마트폰 한 대로 처리할 수 있다.

shell script에서 ping 3번만 찍는 옵션

  • ping localhost -c 3
  • "-c 3"

Swarm의 뜻은?

  • 벌 떼

😊 질문

NFS / Samba / NAS 차이를 알아라

  • NFS for Linux
  • Samba for windows
  • 중앙에 접속하는 객체가 Linux면 NFS, Window면 Samba, 그걸 다 종합한 게 NAS

선생님은 누구일까?

  • 이용식, jesuswithme@gmail.com
  • 서버개발자, 강사

Azure를 Volume으로 쓰는 부분 읽자(꼭 읽자!!)

profile
자바스크립트와 파이썬 그리고 컴퓨터와 네트워크

0개의 댓글