inblog logo
|
p4rksk
    Docker

    Docker - 도커 파일

    박선규's avatar
    박선규
    Jun 11, 2024
    Docker - 도커 파일
    Contents
    jar 파일 굽기slime 도커 파일에 적용하기이미지를 굽고 바로 실행하기
    📌
    중요 사항!!
    1. PATH → 키워드 (정해진 환경변수)
        • PATH 를 키워드로 설정은 어디서 했을까?
          • notion image
    1. 환경 변수 생성 → export 명령어 (아래의 방법도 있다 → 파일 만들어서 하기)
      1. echo ‘USERNAME=donghun’ > myenv cat myenv source myenv echo $USERNAME
        만들어진 파일을 .bashrc 에 등록 가능하다 이것 또한 알아보자!!
        • export 명령어를 사용하면 현재 쉘 프로세스 뿐만 아니라 모든 자식 프로세스에서 사용이 가능해진다.
    1. .bashrc 부팅 시 읽어지는 파일
    1. 부팅 안하고 적용하고 싶다면? 어떤 파일이든!!
        • sourch 파일명
    1. bash 를 안쓰고, 다른 쉘 설치해서 쓴다면 그 쉘에 대한 프로파일 설정 파일이 만들어진다. ex) .zshrc
    1. 파일 만들 때 echo ‘내용’ > 파일명
        • 만약 append 하고 싶다면? >>

    jar 파일 굽기

    docker hub 접속

    Docker Hub Container Image Library | App Containerization
    Introducing Docker Build Cloud: A new solution to speed up build times and improve developer productivity
    Docker Hub Container Image Library | App Containerization
    https://hub.docker.com/

    openjdk 검색해서 설정(원하는 버전)

    ❗
    순수 JDK만 설치하고 싶을 때 slim 이란 걸 설치한다.
    나머지 필요한 거는 추후 내가 다운 받으려고
    notion image
    notion image
    ❗
    OS 가 어떤지 알아보려면 들어가면 알수 있다!
    notion image
    debian 계열인 것을 알 수 있다.
     
    또한 Layers 와 images 도 알 수 있다.
    notion image
     

    slime 도커 파일에 적용하기

    도커 파일에 적용

    notion image
    FROM openjdk:11-jdk-slim
     

    이미지 굽기

    cd ex02 docker build -t {YOUR_ID/APP_NAME:TAG} . docker images
    notion image
     

    이미지 실행

    ❗
    꺼지지 않게 -d를 붙여 실행하기
    docker run -dit {이미지 명}
    notion image
     

    attach로 접근

    docker ps docker attach
     
     
     
     
     
     
     

    bash는 꺼짐

    notion image
    안꺼지게 하고 싶으면 -dit로 바꿔서 실행 해야됨
     
     

    환경 변수

    notion image
     
    • 환경 패스
    notion image
     
     

    실행 순서

    cd ex02 docker build -t {YOUR_ID}/openjdk:11 .
    notion image
     
     
    notion image
    notion image
     
     
    bin 폴더 내부에 java가 있음
    bin 폴더 내부에 java가 있음
    파이프라인을 걸어서 grep:명령어 찾는 써서 java 찾기
    파이프라인을 걸어서 grep:명령어 찾는 써서 java 찾기
     
    notion image
     
     
    cat . bashrc (안에 내용만 보는 명령어)
     
     
    echo(실행) 출력 결과를 hello.sh로 바꾼다.
    echo(실행) 출력 결과를 hello.sh로 바꾼다.
    현재 폴더를 실행하려면 ./를 붙이면 된다.
    현재 폴더를 실행하려면 ./를 붙이면 된다.
     
     
    • 환경 패스 수정하는 명령어
    notion image
    export는 단점이 컴퓨터를 끄면 날라간다.
    export는 단점이 컴퓨터를 끄면 날라간다.
    다시 한번 읽어서 os가 기억하게 한다.
    다시 한번 읽어서 os가 기억하게 한다.
    실행 됨
    실행 됨
     

    Docker 미 실행 상태 cmd 진행 에러

    • ERROR: error during connect: this error may indicate that the docker daemon is not running: Head "http://%2F%2F.%2Fpipe%2Fdocker_engine/_ping": open //.
    Docker desktop을 실행
     
     

    PATH → 키워드(정해진 환경변수)

    PATH를 키워드로 설정은 어디서 했을까?

    환경변수 생성 → export 명령어

    notion image

    bashrc 부팅시 읽어지는 파일

     

    부팅안하고 적용하는 법

    source 파일명
     

    bash를 안쓰고 다른 쉘 설치해서 쓴다면

    그 쉘에 대한 프로파일 설정 파일이 만들어진다.
     

    파일 만들 때

    echo ‘내용’ > 파일명
    append 하고 싶다면? >>
     
     
     

    이미지를 굽고 바로 실행하기

    폴더 내부에 폴더 만들기

    notion image

    폴더에 jar파일 넣기

    notion image

    Docker file 설정

    FROM openjdk:11-jdk-slim #터미널에서 실행되는 폴더의 위치 설정 하는 명령어 WORKDIR /var/currnet/app COPY ./deploy/aws-v3-0.0.3jar ./application.jar
    ❗
    ./ 설정 안 하면 workdir에 실제 경로 정확하게 적어줘야 한다.
     

    docker 명령어

    cd ex02 #파일 굽기 docker build -t step1 . # bash로 (데몬으로 실행) docker run -dit step1 bash # 컨테이너 연결 docker attach {CONTAINER_ID}
    notion image
     
     

    ENTRYPOINT와 CMD의 차이

    notion image
     
     
    엔트리포인트는 바꿔치기가 안되고 상수 고정이다.
     
    cmd는 보통 옵션을 단다.
    cmd:변수
     
    • cmd바꿔치기
    포트 8000 →3000
    notion image
    # 외부에서 포트 8000으로 실행을 하면 3000으로 실행 docker run -d -p 8000:3000 step2
    커맨드
    커맨드
    엔트리포인트를 보편적으로 사용한다
    cmd는:재정의가 가능함
     
     
    결론
    →cmd는 옵션 설정만 하고 엔트리포인트로 실행 하는 걸로 한다.
     
    Share article

    p4rksk

    RSS·Powered by Inblog