일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 판교
- 바스트로37
- 신미낙지
- Spring
- State
- MariaDB
- BDD
- 진1926
- 고릴라볼링장
- react component
- 강다니엘
- SpringCamp2019
- SpockFramework
- NVM
- SetMail
- 오뚜기숯불소금구이
- 전나라동동공주
- Replacation
- Hook
- 양살치살
- useEffect
- Java
- 오삼철판볶음
- SpringCamp2017
- DockerCompose
- NapuCon2016
- react
- nginx
- docker
- SpringCamp
- Today
- Total
목록Dev/Etc (12)
Note
Dockerfile? Dockerfile은 Image 설정 파일로 Image를 생성할 내용을 작성한다. Options FROM: 어떤 이미지를 기반으로 생성할지 설정한다. : 형식으로 설정한다. MAINTAINER: 메인테이너 정보를 작성한다. ENV: 이미지의 환경변수를 설정한다. RUN: 쉘 스크립트 혹은 명령어를 실행한다. VOLUME: 호스트와 공유할 디렉토리를 지정한다. CMD: 컨테이너가 시작됐을 때 실행할 실행 파일 혹은 쉘 스크립트를 지정한다. ADD: 호스트에서 이미지로 복사할 파일을 지정한다. EXPOSE: 호스트와 연결할 포트 번호를 지정한다. Example FROM centos:centos6.8 MAINTAINER HyeonilJeong ENV V_NGINX=1.12.1 \ V_TO..
docker-compose? Docker Compose는 하나의 설정으로 여러 컨테이너를 정의하고 실행할 수 있도록 도와주는 툴이다. 하나의 명령어로 여러 컨테이너를 띄워서 어플리케이션을 실행할 수 있다. 사용 환경 개발 테스트 스테이징 == Options image: 사용할 이미지의 태그나 ID를 명시 build: Docker파일이 있는 디렉토리의 경로 dockerfile: 기본 Dockerfile명이 아닐 경우 여기에 이름을 명시 command: 기본 command를 지정 links: 컨테이너를 다른 서비스와 연결. 연결하려는 서비스의 이름이나 별칭을 작성하면 컨테이너의 /etc/hosts 파일에 그 내용이 추가 external_links: links와 비슷하지만 compose외부의 서비스와 연결을 ..
빌드 툴로 많이 알려진 메이븐은 빌드 툴이라기 보다는 프로젝트 관리 툴이라고 지칭해야 한다. 메이븐은 소스코드로부터 배포 가능한 산출물을 빌드할 뿐만 아니라, 의존성 관리, 패키징, 문서화, 자동화 테스트, 각종 리포팅, 배포 등 여러가지 기능을 지원한다. 메이븐에서 지원하는 기능을 사용하기 위해서는 pom.xml이라는 파일에 사용할 기능에 대해서 명시해야한다. 메이븐의 기본 구조는 아래와 같다. 4.0.0 kr.pe.nuti build-deployment 1.0.0-SNAPSHOT jar build deployment build and deployment description. https://blog.nuti.pe.kr https://github.com/hyeonil ... ... ... ... .....
코드 단위를 짧게 하라 하나의 메소드는 하나의 역할만 하도록 한다. 짧은 단위는 분석하기 쉽다. 짧은 단위가 재사용하기 쉽다. 메소드 이름을 의미있게 작성해서 가독성을 높여야한다. 코드 단위는 간단하게 짜라 단위를 커버하는 테스트 케이스를 최소화해야한다. 간단한 단위는 복잡한 단위보다 이해하기 쉽고 수정하기도 쉽다. 간단한 단위는 테스트하기 쉽다. 코드는 한 번만 작성하라 중복코드는 여러번 수정해야 한다. 단위 인터페이스를 작게 하라 작은 인터페이스가 이해하고 재사용하기 쉽다. 인터페이스가 작아야 메소드를 수정하기 쉽다. 파라미터가 5개 이상 넘어가면 코드를 읽기 어렵고 하는 일이 많아질 가능성이 크다. 관심사를 모듈로 분리하라 클래스를 나누어 관심사를 분리한다. 특정 구현부는 인터페이스 안에 숨긴다. ..
upstream groupName { ip_hash; server {ip}:{port} weight=5; server {ip}:{port}; server {ip}:{port} backup; } server { listen 80; server_name your.domain.com; location / { ... proxy_pass http://groupName; } } option ip_hash: IP를 Hash해서 특정 클라이언트는 특정 서버로만 연결 least_conn: 가장 클라이언트 연결 갯수가 적은 서버로 전달하는 설정 keepalive n: n개의 커넥션을 유지 slow_start=n: 최근에 장애로부터 복구한 서버에 요청이 폭주하지 않도록 slow_start 에 주어진 시간만큼 기다려 줌 we..
CentOS 메일서버 설정 sendmail 관련 패키지 설치 sendmail, sendmail-cf, sendmail-devel 패키지를 설치한다. 표준 패키지 sendmail - 메일 전송 에이전트 추가 패키지 sendmail-cf - sendmail을 재설정 하는데 필요한 파일들 sendmail-devel 설치 yum install sendmail sendmail-cf sendmail-devel sendmail 설정 sendmail은 로컬에서만 메일을 발송하도록 하는데, 릴레이 설정을 하고, 메일 클라이언트를 통해서 발송할 수 있도록 아래와 같이 설정을 바꾼다. /etc/mail/sendmail.mc 52: TRUST_AUTH_MECH('EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN ..
iptables failed: ~~~ ! -i docker0: iptables: No chain/target/match by that name 위와 같은 오류가 날 경우 아래와 같이 iptables에 DOCKER 체인을 등록해 주면 된다. iptables -t nat -N DOCKER iptables -t nat -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER iptables -t nat -A PREROUTING -m addrtype --dst-type LOCAL ! --dst 127.0.0.0/8 -j DOCKER
Docker Container Lifecycle 이미지가 생성되면 이미지를 바탕으로 컨테이너를 생성할 수 있다. 컨테이너의 Lifecycle은 아래와 같다. 컨테이너 생성(docker create) Docker 이미지로 컨테이너를 생성한다. docker create 명령어를 실행하면 이미지에 포함된 linux 디렉토리 및 파일 집합의 스냅샷을 만든다. 컨테이너 생성 및 구동(docker run) Docker 이미지에서 컨테이너를 생성하여 컨테이너상에서 프로로세스를 구동한다. 생성 및 구동 Options -a, –attach=[STDIN or STDOUT or STDERR]: 표준입력(STDIN), 표준출력(STDOUT), 표준 에러 출력(STDERR)을 연결 –cidfile="file name": 컨테이..