해당 포스팅은 이성미 강사님의 따라 배우는 도커(따배도, https://www.youtube.com/@ttabae-learn)를 보고 공부한 내용을 정리한 블로그입니다.

아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁
오늘은 고통스럽다.
내일은 더 고통스럽다.
그리고 내일 모래는 아름다울 것이다.
Mǎ Yún(알리바바 그룹 창업자 겸 회장)

Container Volume


  • 컨테이너 이미지는 read-only(컨테이너로 올리면 수정가능)
  • 컨테이너에 추가되는 데이터들은 별도의 RW 레이어에 저장.
    • RO 와 RW 하나같이 보이게 하는 시스템 ⇒ union file system
  • 컨테이너에 추가되는 이미지는 별도의 레이어에서 생성

Data보존


  • rw(/var/lib/mysql)에 저장. ⇒ 대신에 특정 저장소에 저장하도록.(/dbdate) 호스트의 DB 데이터 영구보존
  • docker run -d --name db
    -v /dbdata:/var/lib/mysql => 디스크에 저장하도록
    -e MYSQL_ALLOW_EMPTY_PASSWORD=pass
    mysql:latest
  • -v <hostpath>:<container mount path>(/var/lib/mysql 내용을 hostpath에 저장)
    -v <hostpath>:<container mount path>:<read write mode>
    -v <container mount path>
    (/var/lib/docker/volume/UUID/_data 디렉토리에 저장)
  • docker run -v /webdata:/webdata -d —name df smlinux/df:latest
    docker run -d -v /webdata:/usr/share/nginx/html:ro -d ubuntu:latest

컨테이너끼리 데이터 공유하기


  • df 명령어: 디스크 사용량을 모니터링할 때 사용

10초마다 디스크 사용량을 index.html에 작성하는 code

cat df.sh

#!/bin/bash
mkdir -p /webdata
while true
do
	df -h / > /webdata/index.html
	sleep 10
done

컨테이너 빌드

# dockerfile
FROM ubuntu:18.04
ADD df.sh /bin/df.sh
RUN chmod +x /bin/df.sh
ENTRYPOINT ["/bin/df.sh"]

도커 실행

docker run -d -v /webdata:/webdata —name df smlinux/df:latest

'CICD > docker' 카테고리의 다른 글

[Docker] 빌드에서 운영까지  (0) 2024.06.19
[Docker] Container 간 통신  (2) 2024.06.19
[Docker] Container 관리  (0) 2024.06.17
[Docker] Container 사용하기  (0) 2024.06.17
[Docker] Container Registry  (0) 2024.06.17

+ Recent posts