Docker - 도커 파일

박선규's avatar
Jun 11, 2024
Docker - 도커 파일
📌
중요 사항!!
  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 접속

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