728x90
반응형
1. 자원 사용에 대한 제약1) 볼륨에 대한 자원 사용 확인리눅스에서 자원 사용량을 확인: `df -h`컨테이너 내부에서도 동일한 명령을 수행: `docker exec -it apache2 /bin/bash`현재 컨테이너의 자원 사용 가능 사이즈와 호스트 컴퓨터의 자원 사용 가능 사이즈가 동일하다.2) 리눅스 자원 모니터링top: 리눅스 전체의 자원 소비량과 개별 액티브 프로세스의 자원 사용량을 보여준다.htop: top보다 향상된 UI와 기능을 제공하는 자원 사용량 모니터링 도구sar(system active report): 다양한 옵션을 이용하여 시스템 전반의 사용량을 세부적으로 모니터링할 수 있으며, 쉘 스크립트에 포함하여 사용할 수 있다. `sysstat` 패키지를 별도로 설치해야 한다.sar 2..
1. Linux의 `awk``awk`는 파일로부터 레코드를 선택하고, 선택된 레코드에 포함된 값을 조작하거나 데이터화할 수 있는 프로그램이다.텍스트 파일의 전체 내용을 출력할 수 있지만, 주로 텍스트 파일의 특정 필드만 출력하거나 연산을 수행할 때 사용된다.예를 들어, 아파치 웹 서비스의 access.log는 하나의 레코드처럼 기록되며, 각 레코드는 다음과 같은 형식을 가진다:IP -- 날짜시간 요청방식 프로토콜 사이즈... 주요 기능전체 내용 출력:파일의 모든 레코드를 줄 단위로 출력한다.awk {print} nginx-log/access.log특정 필드만 출력:파일에서 특정 필드(열)만 선택하여 출력할 수 있다.awk '{print $1, $4, $5}' nginx-log/access.log연산 기능..
지난 글에 이어서, 도커 스토리지의 종류 중 bind mount와 tmpfs에 대해 다뤄보겠다.2024.10.16 - [클라우드 스쿨/도커(Docker)] - [Docker] 도커 스토리지 종류와 사용법 1: 볼륨(Volume) 생성, 설정, 삭제1. bind mountBind mount는 호스트 컴퓨터의 디렉터리와 컨테이너의 디렉터리를 직접 매핑하는 방식이다.컨테이너가 종료되거나 삭제되어도 호스트의 데이터는 유지된다.호스트 파일 시스템의 소유자 권한에 따라 파일이 생성되며, 존재하지 않는 디렉터리일 경우 자동으로 생성된다. 이때, 생성된 디렉터리는 루트 사용자 소유가 된다. 바인드 마운트 설정 방법`--mount` 옵션 사용:docker run --mount type=bind,source=호스트디렉터리..
1. 도커 스토리지가 필요한 이유도커 컨테이너는 일종의 프로세스로, 기본적으로 메모리에 데이터를 저장하고 사용한다.파일 시스템에 데이터를 저장하는 것도 가능하지만, 컨테이너가 삭제되면 그에 속한 모든 데이터도 함께 사라진다.즉, 데이터의 영속성을 유지할 수 없다.이러한 문제를 해결하기 위해 도커 스토리지 기능을 사용하며, 이를 통해 데이터를 영구적으로 저장하고 관리할 수 있다.2. 도커 스토리지 타입`bind mount`: 호스트 컴퓨터의 파일 시스템과 직접 연결하는 방식`volume`: 도커 엔진의 파일 시스템과 연결하는 방식`tmpfs mount`: 메모리에 일시적으로 저장하는 방식. 휘발성 메모리 저장소로, 컨테이너가 종료되면 데이터가 사라진다. 3. 볼륨볼륨은 도커에서 데이터를 영구적으로 저장하기..
0. 컨테이너와 이미지 모두 삭제하기개발 중이나 실습 후에 남은 컨테이너와 이미지를 깔끔하게 정리하고 싶을 때, 아래 명령어를 사용하면 모든 컨테이너와 이미지를 손쉽게 삭제할 수 있다.모든 컨테이너 중지: `docker stop $(docker ps -a -q)`모든 컨테이너 삭제: `docker rm $(docker ps -a -q)`모든 이미지 삭제: `docker rmi $(docker images -q)`1. Apache Web Server 컨테이너 생성Docker로 Apache(httpd) 웹 서버를 실행하려면 간단한 명령어 하나로 가능하다. 이 과정에서 Apache 서버가 80번 포트를 사용하기 때문에, 로컬에서 포트 8001로 접근할 수 있도록 설정해준다. 기본 정보이미지 이름: httpd포..
1. 컨테이너이미지는 읽기 전용의 불변 값으로 만들어진다.도커 엔진은 이미지를 이용해 컨테이너를 생성하며, 이때 읽고 쓰기가 가능한 레이어를 추가한다.컨테이너 관련 명령어는 `dockerd` 데몬이 제공하는 docker CLI API를 통해 사용할 수 있다.컨테이너는 프로세스이며, 도커 이미지를 기반으로 만들어진 snapshot이다.Snapshot은 도커 이미지 레이어(불변의 유니언 파일 시스템 - UFS)를 복제한 것이고, 그 위에 읽고 쓰기가 가능한 컨테이너 레이어를 결합되어 컨테이너가 생성된다. 이 컨테이너는 이것들만 가지고 실행된다.애플리케이션은 프로세스를 통해 동작하며, 컨테이너는 격리된 공간에서 프로세스가 실행되는 기술이다.리눅스 운영체제가 부팅되면 PID 1번인 init(systemd) 프로..