도커 설치 좀 걸린다 시간이
스프링부트코드가 있는 인텔리제이에 Dockerfile을 만들어준다.
도커는 기본적으로 이미지가 있어야 컨테이너를 생성하고 동작시킬 수 있어서, dockerfile은 필요한 최소한의 패키지를 설치하고 동작하기 위한 자신만의 설정을 담은 파일이랜다. 이 파일로 이미지를 생성(빌드)하는 것!! - 이말의 출처는 위의 링크 ㅎㅎ
그래서 결론은 자신만의 설정 해주기 위한 파일 약간 application.properties같은 느낌?
FROM => 빌드하는 이미지와 기반 이미지를 지정
ARG => docker image build를 실행할때 사용하는 변수
COPY => 호스트에서 컨테이너로 파일 및 디렉토리를 복사
ENTRYPOINT => 컨테이너를 실행 가능 파일로 사용할 때 정의하는 명령. CMD와 ENTRYPOINT를 함께 사용할 수 있다.
결론은 openjdk:11이미지를 docker hub로부터 다운받고 JAR_PATH라는 이름의 변수에 build/libs 값 설정하고, *.jar모든 파일을 현재 디렉토리에 카피하겠다. 또한 java jar명령어를 돌리겟다는 뜻.
해당 디렉토리에서
docker build -t spring .
명령어 입력한다.
그런데 오류가 남.
오류 코드를 보니
나는 jar파일이 target밑에 생기는데 bulid/libs라고 경로를 저장했었음. 그래서 코드를 수정
ARG JAR_FILE=target/moing-backend-0.0.1-SNAPSHOT.jar
경로를 수정함.
그랬더니 완!!!
이미지 푸쉬가 안되는데 경희말을 들어보니 docker hub를 통해 이미지 올리는 건 모두 public으로 설정되기 때문에 보안에 안좋다!! 그래서 다른 방법으로 고민중....
https://velog.io/@snghyun331/Docker-AWS-EC2Ubuntu%EC%97%90%EC%84%9C-Docker%EB%A1%9C-Nginx-%EB%9D%84%EC%9A%B0%EA%B8%B0
'이수아' 카테고리의 다른 글
[개별 스크럼]11. 08(수) Permission denied (publickey,gssapi-keyex,gssapi-with-mic) (1) | 2023.11.08 |
---|---|
[개별 스크럼]10. 31(화) 검색기능, 단위테스트공부 (1) | 2023.11.01 |
[개별 스크럼]10. 05(목) CI/CD 배포 자동화 공부 + AWS 계정생성 (1) | 2023.10.06 |
[개별 스크럼]10. 02(월)JWT 토큰 인증 실패 401에러 해결 (0) | 2023.10.03 |
[개별 스크럼]09. 27(수)JWT토큰 인증과 권한 설정 (0) | 2023.10.03 |