목차

    ⏳ Time Log/1. One Day (Daily · TIL)

    [TIL] Day 63 — Java Stream/Lambda + Docker WordPress 환경 구성 (1/16)

    this.Serena 2026. 6. 8. 21:19

    [TIL] Day 63 — Java Stream/Lambda + Docker WordPress 환경 구성 (1/16)

    날짜: 2026-01-16
    기술 스택: Java Lambda Stream IOStream Docker

    한 줄 요약: Java Lambda/Stream/I/O Stream 오전 실습 + Docker 네트워크로 MySQL-WordPress 연동 환경 구성


    Java Lambda / Stream / I/O Stream

    Stream API 핵심 패턴

    List<String> names = List.of("Alice", "Bob", "Charlie");
    
    // filter → map → collect
    List<String> result = names.stream()
        .filter(n -> n.length() > 3)        // 3자 초과만
        .map(String::toUpperCase)           // 대문자 변환
        .collect(Collectors.toList());      // 리스트로 수집

    I/O Stream 기본 구조

    // 파일 쓰기
    try (FileWriter fw = new FileWriter("output.txt", StandardCharsets.UTF_8)) {
        fw.write("Hello, File!");
    }
    
    // 파일 읽기
    try (BufferedReader br = new BufferedReader(new FileReader("output.txt"))) {
        String line;
        while ((line = br.readLine()) != null) {
            System.out.println(line);
        }
    }

    Docker 네트워크로 WordPress + MySQL 구성

    컨테이너 간 통신을 위해 Docker 가상 네트워크 생성 후 같은 네트워크에 올리면 컨테이너 이름으로 서로 통신 가능

    1. 네트워크 생성

    docker network create wordpress000net1

    2. MySQL 컨테이너 실행

    docker run --name mysql000ex11 -dit \
      --net=wordpress000net1 \
      -e MYSQL_ROOT_PASSWORD=1234 \
      -e MYSQL_DATABASE=wordpress000db \
      -e MYSQL_USER=kun \
      -e MYSQL_PASSWORD=1234 \
      mysql:5.7

    3. WordPress 컨테이너 실행

    docker run --name wordpress000ex12 -dit \
      --net=wordpress000net1 \
      -p 8085:80 \
      -e WORDPRESS_DB_HOST=mysql000ex11 \
      -e WORDPRESS_DB_NAME=wordpress000db \
      -e WORDPRESS_DB_USER=kun \
      -e WORDPRESS_DB_PASSWORD=1234 \
      wordpress:latest

    브라우저에서 localhost:8085 접속으로 WordPress 설치 화면 확인

    핵심 포인트

    • --net 옵션으로 같은 가상 네트워크에 참여하면 컨테이너 이름(mysql000ex11)으로 DB 호스트 지정 가능
    • 포트 매핑 -p 호스트:컨테이너 — 호스트 8085 → 컨테이너 80

    더 알아볼 것

    • Stream reduce(), flatMap(), distinct() 활용 예시
    • Docker bridge 네트워크 vs host 네트워크 차이
    • docker network inspect로 네트워크 상태 확인
    • WordPress MySQL 버전 호환성 이슈 (mysql:5.7 vs 최신)
    • I/O Stream vs NIO (java.nio.file.Files) 성능 비교