DOCKER 7

[DOCKER] DOCKERFILE 명령어 정리

DockerFile 명령어 요약 명령어 용도 FROM base 이미지 설정 WORKDIR 작업 디렉터리 설정 RUN 이미지 빌드 시 커맨드 실행 ENTRYPOINT 이미지 실행 시 항상 실행되야 하는 커맨드 설정 CMD 이미지 실행 시 디폴트 커맨드 or 파라미터 설정 EXPOSE 컨테이너가 리스닝할 포트 및 프로토콜 설정 COPY/ADD 이미지의 파일 시스템으로 파일 또는 디렉터리 복사 ENV 환경 변수 설정 ARG 빌드 시 넘어올 수 있는 인자 설정 DockerFile 포맷 # 주석(Comment) 명령어(INSTRUCTION) 인자(arguments) 각 명령문은 명령어로 시작하고 여러 개의 인자가 따라오며, 인자와 구분이 쉽도록 명령어는 모두 대문자로 써줘야함 FROM FROM FROM : FRO..

DOCKER 2022.05.11

[DOCKER] 도커컴포즈

Docker Compose 여러 컨테이너를 일괄적으로 정의하고 실행할 수 있는 툴 하나의 서비스 운영하기 위해서 여러 개의 애플리케이션이 동작해야함 이러한 컨테이너화된 애플리케이션들을 통합관리를 해줌 YAML 파일로 설정해서 관리 Docker Compose YAML 파일 구성 version compose 버전 version : "2" services 컴포즈를 이용해서 실행할 컨테이너 옵션 정의 service: webserver: image: nginx db: image: redis build 컨테이너 빌드 webapp: build: . image compose를 통해 실행할 이미지를 지정 webapp: image: centos:7 command 컨테이너에서 실행될 명령어 지정 app: image: nod..

DOCKER 2021.10.28

[DOCKER] 컨테이너 볼륨

컨테이너 볼륨 컨테이너를 삭제하면 컨테이너 계층 (Writable Layer)의 데이터가 모두 삭제 되기 때문에 컨테이너 데이터의 영속성을 유지하기 위해서 볼륨을 활용 컨테이너 이미지는 readonly 속성임, 컨테이너에 추가되는 데이터들은 별도의 RW 레이어에 저장되며 해당 방식을 Copy-on-Write 방식이라 하며, 파일을 효율적으로 공유하고 복사하는 방법임 컨테이너의 파일 시스템을 관리하기 위해서는 리눅스 커널이 지원하는 Storage 드라이버를 통해 Union File System을 이용해서 RO, RW 레이어가 하나인것 처럼 동작해줌 볼륨을 활용하지 않은 컨테이너가 동작하지 않으면, 데이터가 영구적으로 유지 되지 않기 때문에, 다른 프로세스나 컨테이너가 해당 데이터를 필요로 하는 경우 사용할..

DOCKER 2021.10.28

[DOCKER] 컨테이너 관리

컨테이너 리소스 제한 기본으로 컨테이너는 호스트 하드웨어 리소스 사용제한을 받지 않음, 하지만 Docker 커맨드를 통하여 아래 리소스를 제한할 수 있음 CPU Memory Disk I/O docker run --help 명령어를 통해 확인 가능함 -m, --memory bytes Memory limit --memory-reservation bytes Memory soft limit --memory-swap bytes Swap limit equal to memory plus swap: '-1' to enable unlimited swap --memory-swappiness int Tune container memory swappiness (0 to 100) (default -1) --mount mount..

DOCKER 2021.10.28

[DOCKER] 계정 관리자 권한 부여

계정 관리자 권한 부여 Docker 관리자 권한 할당은 Root 계정으로만 가능함, 일반적으로 실무진행시 Root 계정을 부여안하기 때문에 Docker 사용시 해당 관리할 수 있는 권한의 계정을 부여해줘야함 -- Docker 접근 권한이 없어서 사용 불가 [dockeradmin@plat02 ~]$ docker ps Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission ..

DOCKER 2021.10.26

[DOCKER] 삭제방법

Docker 삭제 컨테이너를 모두 중지하고 삭제 저장된 이미지를 모두 삭제 Docker 서비스, 컨테이너 서비스 중지 docker package 삭제 /var/lib/docker 아래의 모든 파일 디렉토리 삭제 /var/run 아래에서 docker.sock, docker.pid 파일 docker디렉토리 삭제 컨테이너 모두 중지하고 삭제 [root@plat02 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3adac0671371 centos "/bin/bash" 3 days ago Up 3 days plat-ser ver2 d8fd84d11f0f centos "/bin/bash" 3 days ago Exited (130) 3 ..

DOCKER 2021.10.26

[DOCKER] 설치

도커 설치방법 Repository를 이용한설치 Download 후 직접설치 Script를 이용한설치 회사에서는 설치시 외부 인터넷망이 접근이 안되기 때문에 수동으로 다운받아서 직접 설치하지만, 일반적으로는 Repository를 이용하여 설치함 Repository를 이용해서 설치 Docker.com에서 docker package를 저장하는 Repository를 이용하여 실시간으로 다운받아서 설치 Centos 환경에서 Docker 설치방법 Repository 설정 Docker 엔진 설치 Docker 구동 Root 계정으로 설치를 진행하였음 Respository 설정 -- 패키지 설치, 최신버전 설치 확인 [root@plat02 ~]# yum install -y yum-utils Loaded plugins: ..

DOCKER 2021.10.26