반응형

도커 15

[Docker] Docker Compose sample(feat. API Server)

배운 건 또 바로 써먹어야 체득이 되니 간단한 프로젝트로 Docker로 API Server를 구축해 봤음(Dockerfile을 이용해서 서버 설정 후 Docker Compose로 묶음) springBoot로 간단한 CRD API를 만들고 mysql과 동일 네트워크로 구성해서 Docker로 띄움 insert 기능 작성 부분은 동영상 촬영을 일시정지 하면서 진행해서 짤림 😥 개인 스터디 기록을 메모하는 공간이라 틀린점이 있을 수 있습니다. 틀린 점 있을 경우 댓글 부탁드립니다.

IT/DevOps 2023.11.07

[Docker] Docker Compose [2] (feat. network)

도커로 springBoot API 서버, mysql 서버를 같은 네트워크로 묶어서 띄운 후 호스트 PC에서 호출하는 예제 테스트 프로젝트 springBoot server Dockerfile 😄 FROM openjdk:11-jdk-slim WORKDIR /app #현재 경로의 모든 파일 복사 COPY . . # 개행문자 오류 해결 [unix와 window 시스템 차이], 이건 예제 소스 그대로 가져옴 RUN sed -i 's/\r$//' gradlew # gradlew파일 파일 실행 권한 부여 RUN chmod +x ./gradlew # gradlew 빌드 실행 RUN ./gradlew clean build #환경변수 세팅 ENV JAR_PATH=/app/build/libs #파일명 변경 RUN mv ${..

IT/DevOps 2023.11.05

[Docker] Docker Compose [1] (feat. volumes)

목차 Docker Compose 이용해서 mysql 컨테이너 실행 후 볼륨 관련 테스트 하는 간단한 예제 docker-compose.yml 😃 yml 형식이라 들여쓰기 주의 services: # db라는 이름은 내맘대로 그 안의 image, restart 등은 수정 불가 db: image: mysql restart: always volumes: # 호스트 볼륨 연결 - ./mysql-data:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=1234 - MYSQL_DATABASE=rootdb ports: - "3309:3306" # 위에서 설정한 볼륨 연결 volumes: mysql-compose-volume: Docker Command 🤗 #도커 컴포즈 이용해서 ..

IT/DevOps 2023.11.05

[Docker] Docker File [6] (feat. ENV, VOLUME)

목차 Dockerfile 🙂 FROM mariadb #환경변수 세팅 ENV MYSQL_USER=son ENV MYSQL_PASSWORD=1234 ENV MYSQL_ROOT_PASSWORD=1234 ENV MYSQL_DATABASE=sondb #캐릭터셋 세팅 CMD [ "--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci" ] Docker Command 😎 #빌드 docker build -t mysql-image . #그냥 볼륨 이용해서 컨테이너 실행(mysql에서 자동으로 볼륨 생성) #3306 ~ 3308까지 포트 사용중이라 3309로 포트포워딩 함 docker run -d -p 3309:3306 --name mysql-con..

IT/DevOps 2023.11.05

[Docker] Docker File [5] (feat. nginx proxy)

목차 nginx의 프록시를 이용해 요청에 따라 서버 2개로 분배하는 예제 lb Dockerfile(메인서버) 🤗 예제에서는 lb가 메인서버를 뜻함 클라이언트 요청을 제일 먼저 받는 서버 FROM nginx #vim은 편의상 설치했음, 선택사항임 RUN apt-get update RUN apt install -y vim # COPY index.html /usr/share/nginx/html #(메인서버 호출 시 index.html 없어서 404 페이지 보여서 만들었음) COPY index.html /etc/nginx/html/index.html COPY conf/nginx.conf /etc/nginx/conf.d/default.conf ENTRYPOINT [ "nginx", "-g", "daemon off..

IT/DevOps 2023.11.04

[Docker] Docker File [4] (feat. nginx 설정 복사)

Dockerfile로 nginx 설정파일 복사 후 기동 Dockerfile을 이용해서 nginx 이미지를 만들되 내가 만든 설정파일을 복사해서 실행하는 예제 Dockerfile 😄 #Dockerfile FROM nginx #docker build 실행 경로: C:\Users\사용자명\DOCKER_LAB\ex03 #이 경로 하단에 webapp폴더, conf폴더 COPY webapp /usr/share/nginx/html COPY conf/nginx.conf /etc/nginx/conf.d/default.conf ENTRYPOINT [ "nginx", "-g", "daemon off;"] #Dockerfile로 이미지 만들 때 nginx index html파일과 .conf 설정 파일 복사 해서 #내가 설정한..

IT/DevOps 2023.11.04

[Docker] Docker File [3] (feat. Run)

Dockerfile의 RUN을 이용해서 이미지를 만들 때 nginx를 설치해서 만들되 COPY를 이용해서 index.html을 내가 만든 html로 적용해보는 예제 Dockerfile 😄 FROM ubuntu #RUN을 이용해서 기존의 우분투에 apt update 후 nginx 설치 RUN apt-get update # -y 옵션 안 붙이면 빌드 시 에러 발생함 RUN apt-get install -y nginx WORKDIR /var/www/html COPY ./webapp ./ ENTRYPOINT [ "nginx", "-g", "daemon off;"] 개인 스터디 기록을 메모하는 공간이라 틀린점이 있을 수 있습니다. 틀린 점 있을 경우 댓글 부탁드립니다. reference: https://www.y..

IT/DevOps 2023.11.04

[Docker] Docker File [2] (feat. Entrypoint, WorkDir)

목차 Docker Entrypoint & Workdir 😄 Entrypoint: Dockerfile로 만든 이미지를 컨테이너화 할 때 기본 명령어 Workdir: Dockerfile로 만든 이미지를 컨테이너화 할 때 기본 디렉토리 Dockerfile로 jar 실행 😎 jdk 11버전으로 만든 springBoot 애플리케이션을 실행하기 위해 Dockerfile로 openjdk 11버전 이미지를 다운받아서 Entrypoint, WORKDIR, COPY 등을 이용해서 실행하는 예제 Dockerfile 🙄 #가져올 이미지 FROM openjdk:11-jdk-slim #컨테이너화 될 때 명령이 실행되는 디렉토리 WORKDIR /app #좌측 경로의 jar파일을 WORKDIR의 application.jar이라는 파..

IT/DevOps 2023.11.02

[Docker] Docker File [1] (feat. COPY, CMD)

목차 호스트 PC의 mount폴더의 index.html의 내용이 컨테이너의 htdocs 경로에 복사도 제대로 됨 Docker 파일 내용 예시 😃 #apache webserver에서 이미지를 가져와서 현재 경로 하위의 mount폴더의 내용을 /usr/local/apache2/htdocs로 복사 #컨테이너 실행 시 명령어는 httpd-foreground로 설정 FROM httpd COPY ./mount /usr/local/apache2/htdocs CMD ["httpd-foreground"] 파일명을 Dockerfile(확장자 X)로 저장 mount경로에 html파일 생성 🙂 Hello World Docker파일 이미지화 🥰 #webserver는 내가 설정할 이미지명, 그 뒤에는 현재 경로 하위 지정 doc..

IT/DevOps 2023.11.01

[Docker] Docker image commit/push(feat. Windows 10)

Docker commit 😄 컨테이너를 이미지로 스냅샷 Docker commit {container ID} {NameSpace}/{repositoryName}:{tag} Docker push 🤗 이미지를 repository에 반영 Docker push {NameSpace}/{Repository}:{tag} 동영상 내용 정리 😄 깡통 ubuntu 이미지를 내려 받은 후 vim 설치, 테스트 파일 생성 후 Docker Hub에 commit/push 한 다음 기존 이미지, 컨테이너 삭제, push한 이미지를 내려 받았을 때 vim과 테스트 파일이 그대로 있는지 확인하는 과정 개인 스터디 기록을 메모하는 공간이라 틀린점이 있을 수 있습니다. 틀린 점 있을 경우 댓글 부탁드립니다. reference: https:..

IT/DevOps 2023.10.29
반응형