목차 Dockerfile - Dockerfile 은 필요한 최소한의 패키지를 설치하고 동작하기 위한 자신만의 설정을 담은 파일 - 이 파일로 이미지를 생성(빌드) 가능 - 패키지 설치, 환경 변수 변경, 설정 파일 변경 등 다양한 작업을 하나하나 컨테이너를 만들고 설정을 적용할 필요 없이 Dockerfile 을 사용하여 적용할 수 있고, 사용자의 실수로 인한 설정 누락 예방 등 다양한 장점이 있다. Dockerfile 이미지 만들기 명령어 docker build -t 새로운이미지이름 도커파일의경로 Dockerfile 문법 주석 (Comments) # 주석 시작 # 이 문장은 제외됨 FROM nginx:alpine ~~ FROM - Base Image - 새 컨테이너 이미지는 기존의 Base 이미지에서 시..
목차 Docker Images - Read-Only Template - 이미지는 Container를 만들기 위해 필요. 이미지 그 자체는 의미 없음 - 이미지는 다른 이미지를 기반->이미지는 여러개의 이미지를 포함할 수 있다 - 사용자 자신의 이미지를 만들거나 다른 사용자가 생성하여 레지스트리에 게시한 이미지를 사용가능 - 고유한 이미지를 빌드하려면 이미지를 만들고 실행하는 데 필요한 단계를 정의하기 위한 간단한 구문을 사용하여 Dockerfile 만든다 - Dockerfile의 각 명령은 이미지에 레이어를 생성. Dockerfile을 변경하고 이미지를 재구성하면 변경된 계층만 재구성됨 - 이미지는 매우 가볍고, 작고, 빠르게 만들어야 됨 Docker 컨테이너: 여러 image(이미지, 하나의 패키지로 ..
목차 Docker Volume • container 안의 파일 변경 사항을 UnionFS을 통해 관리 • UnionFS은 이미지 layer와 write layer를 합쳐 container의 데이터 관리하는 데, container 삭제 시 write layer도 삭제 • write layer에는 이미지 layer의 데이터에서 변경된 사항 저장하므로 write layer 삭제 시 데이터 사라짐(데이터 휘발성) • container의 데이터 휘발성 때문에 데이터를 container가 아닌 호스트에 저장 • 또는 container끼리 데이터 공유할 때 Volume 사용 => 컨테이너가 삭제되어도 컨테이너의 DATA가 삭제되지 않도록 사용! -> 영구적으로 data 저장 -> 데이터 공유 가능 -> 데이터 재사용..
도커 컨테이너란? 컨테이너란 • 개발자가 라이브러리 및 기타 종속성과 같이 필요한 모든 부분 응용 프로그램으로 패키징하고 하나의 패키지로 모두 전송 • 여러 컨테이너가 동일한 머신에서 실행될 수 있고 OS 커널 다른 컨테이너와 공유 • 각 컨테이너는 사용자 공간에서 격리된 프로세스로 실행 • Container 개념 탄생 = 1 + 2 1.기존 리눅스 환경: 자원 격리 사용(cgroup) + 특정 디렉토리 권한 제한(chroot) 격리 환경 2.변경 사항 레이어 형태로 저장하는 파일 시스템(Union Filesystem) • 격리된 공간에서 프로세스가 동작하게 해주는 가상화 기술 VM & Container 가상화 개발 => 하이퍼바이저 사용(ex. VMWare, openstack) => 결과물은 가상머신 ..
도커를 이해하기 위해서는 가상화에 대해 알아야 한다. 가상화부터 알아보자. 가상화란? 가상화란 한 대의 시스템 하드웨어를 논리적으로 분할하여 가상의 시스템을 생성 및 활용하는 개념이다. 가상 시스템들은 서로 독립적인 하나의 시스템으로 인지되기 때문에 주어진 하드웨어 리소스를 효율적으로 사용할 수 있다. 가상화에서 중요한 것은 두가지 단어이다. 1. 논리적 분할 2. 독립적 논리적 분할은 얼마든지 생성과 삭제가 쉽다는 것이다. 예를 들어, 물리 시스템은 마음대로 생성하거나 삭제하는것이 쉽지 않다. 하지만, 가상화 같은경우는 개념적으로 분할된 것이기 때문에 언제든 생성과 삭제가 가능하다. 독립적이라는 것은 가상화의 결과물들이 서로 간섭하지 않는다는 것을 말한다. 즉, 가상화된 시스템들은 서로 별개의 시스템으..
목차 기본적으로 기억해야 하는 것 pull - run - exec docker pull : 이미지 다운 docker run : 컨테이너를 생성하고 실행 => 실행중인 컨테이너 생성 docker exec : 실행중인 컨테이너에 명령어 실행하기 도커의 기본 명령어 1. 컨테이너 생성 및 실행 1) 컨테이너 생성(중지된 상태) docker container create docker container create 이미지명 docker container create --name webserver -p 8080:80 httpd => webserver라는 이름의 contianer를 생성하는데 httpd 이미지를 이용하고 호스트의 포트는 8080이고 컨테이너의 포트는 80 container가 중지된 상태로 생성되기 때..
1. VMWare의 Virtual Network Editor에서 다음과 같이 설정해준다 2. 우측 상단을 클릭하고 setting > Network로 들어간다 3. wired의 톱니바퀴 아이콘을 클릭 다음과 같이 설정한다. CentOS 2개를 만들어서 또 다른 CentOS에는 Addresses 설정을 213.0.113.4로 해주고 나머지는 같게 해준다 4. CentOS 2개에 모두 도커 설치 도커가 상용화되면서 지원안하는 Linux가 많아졌다. CentOS 8에서도 도커를 지원하지 않는다. 따라서 밖의 repositroy 로 부터 docker를 받아와서 설치해야 한다. # cat /etc/centos-release # yum install yum-utils –y # yum remove runc -y # y..
PL/SQL 1. 오라클에서 만든 문법, 프로그래밍 처리가 가능 2. 형식 [DECLARE 변수 선언] BEGIN 수행할 PL/SQL END; 3. 변수에 저장할 값을 출력하기 위해 서버 출력을 on 해야함 SET SERVEROUTPUT ON; 변수선언 대입연산자 (:=) 사용 종류 스칼라 변수 → 타입을 직접 지정 참조변수 → 특정 칼럼의 타입 사용 레코드 변수 → 2개 이상의 칼럼을 합쳐서 하나의 타입으로 지정 행 변수 → 행 전체 데이터 저장 SET SERVEROUTPUT ON; --서버출력확인 BEGIN DBMS_OUTPUT.PUT_LINE('Hello World'); END; -- --스칼라 변수 사용 DECLARE NAME VARCHAR2(10 BYTE); GRADE NUMBER(3); BEG..
Ubuntu에서의 DNS 서버 설치 및 설정 1. DNS 서버 설치 => Linux에서는 BIND #Ubuntu sudo apt install bind9 BIND domain name server가 잘 돌아가고 있는 것을 확인 가능 2. 설치한 DNS 서버에 질의 ip 주소가 잘 나오는 것을 확인 할 수 있음 설치한 dns 서버는 윈도우의 dns 서버와 동일한 역할을 한다 캐싱 네임 서버라고도 함 3. zone.rfc1918파일을 쓰기 위해서는 name.conf.local의 주석제거 필요 4. zone.rfc1918 파일 수정 다음을 맨 밑에 추가 naver.com이라는 zone 생성 naver.com 도메인에 대해 세부내역 설정은 "/etc/bind/naver.zone" 파일로 별도의 경로 지정 이 u..