📌 Workflow 선택

깃헙에서 Actions > gradle 검색 > java with Gradle 의 Cofigure 클릭

 

📌 Workflow 선택

📍 yml이 뭔 파일이지?

Yet another Markup Language의 약자로 yml 또는 yaml 확장자로 사용된다. 여러 configuration을 한 파일에서 관리하기 위한 파일로 yaml문법을 사용하여 구성한다. 기본적으로 key-value로 구성되어 있고 json과 상위 호환되어 시퀀스(배열,리스트), 매핑이 가능하다.

 

아래 gradle.yml 구성을 보면

  • on : 이 워크플로우가 수행될 깃헙 이벤트를 결정 
  • permissions : 권한 설정
  • jobs : 수행할 워크플로우들을 차례대로 입력

 

📌 PR test

브랜치를 하나 새로 만들어 워크플로우 이벤트에 반응하게 main에 PR을 해봤다 그런데 앗, 트러블 발생!

 

Detail를 보니 gradle에서 예외발생. 빌드시 권한이 없어서 발생하는 문제라고..

 

gradle.yml 파일에 Build with Gradle 이전에  gradlew 권한을 부여하는 워크플로우를 추가한다.

    - name: Grant execute permission for gradlew
      run: chmod +x ./gradlew

 

그럼 스무스하게 성공~ 

'DevOps > CI & CD' 카테고리의 다른 글

CI/CD] 자동 배포 관련 다양한 상태 확인 방법  (0) 2023.01.26
CI/CD] Properties 관리  (1) 2023.01.26
CI/CD] CodeDeploy - 적용 과정  (1) 2023.01.24
CI/CD] CodeDeploy - AWS 환경 설정  (2) 2023.01.20

 

 

📌자바 버전을 바꿔주려하니 ubuntu 비밀번호를 요구한다 근데 난 ubuntu 비밀번호 설정해준적이 없는데? 맨날 키페어로 들어왔는데??

 

EC2를 만들면 아래 명령어들로 root비밀번호와 ubuntu 비밀번호를 생성할 수 있다. 

 

📍root 비밀번호 생성

sudo passwd root

 

 

📍ubuntu 비밀번호 생성

sudo su -
passwd ubuntu

 

'DevOps > AWS' 카테고리의 다른 글

EC2] 서버 시간 변경하는 법  (2) 2022.12.29
EC2 + RDS] Spring Boot AWS 배포 과정  (0) 2022.12.18

 

이미지 pull

 

 

📌 도커 이미지 란?

이미지는 컨테이너 실행에 필요한 파일과 설정값, 라이브러리, 소스 등을 포함하고 있는 것으로 읽기 전용 즉, 변하지 않는 값을 가지고 있다.

컨테이너를 실행 시키기 위한 모든 정보를 가지고 있기 때문에 이 이미지를 다운 받아 컨테이너를 생성한다. 

 

 

 

📌 도커 이미지 다운로드 링크

 

Docker Hub Container Image Library | App Containerization

Deliver your business through Docker Hub Package and publish apps and plugins as containers in Docker Hub for easy download and deployment by millions of Docker users worldwide.

hub.docker.com

 

 

 

📌 검색

Explore를 눌러 원하는 이미지를 선택한다 오피셜 이미지라면 신뢰도 Up!

 

 

📌 이미지 다운로드 명령어 체크

 

 

📌 도커 사용설명서는 여기 참조 (커맨드 형식도 볼 수 있음)

 

Docker Documentation

 

docs.docker.com

 

 

📌 명령어로 이미지 다운

이미지 다운 확인

 

 

📌 GUI에서도 확인 가능

 

 


컨테이너 Run 

GUI ver) 

 

📌 Run 클릭

 

 

📌 새로운 컨테이너를 생성하는 창

이름 지정해주고 Run

새로 생성한 컨테이너 확인

 

 

📌 컨테이너 실행

근데 실행이 안된다? 좀 더 아래에 내용 있다.

 


 

CIi ver) 

 

📌 Run 명령어로 해당 이미지의 컨테이너 생성 (이름은 임의로 붙여짐)

이름을 붙여주려면 옵션 사용 -- name

 

 

📌 명령어로 상태 확인 

📍 엥? 전부 Exited? 실행이 안되네? 실패한거 아냐? 도커를 사용할때 run을 하면 서버가 -ing로 돌아가는 거라고 생각했지만 COMMAND 부분에서 보시다시피 bash가 실행되었음을 알 수 있다. 우분투 컨테이너를 실행하면 서버가 돌아가는 게 아니라 bash를 실행한 것. Virtual machine처럼 환경 내에 서버를 실행시키는 게 아니라고 한다. 그러면 개발한 애플리케이션 서버를 어떻게 돌리지? 싶은데 명령어를 통해 nohup처럼 영원히 실행되게 하면 된다고 한다. (일단은 내가 생각한 VMware와는 확실히 다르다는 걸 알고 간다.) 

 

아래는 참고할 내용. 좀 더 사용법에 자세히 알게 되면 다시한번 읽어보자

 

 

개발자가 처음 Docker 접할때 오는 멘붕 몇가지 | Popit

이번 글은 Docker의 개념 보다는 Docker를 처음 접하게 되었을 때 혼란스러웠던 내용을 정리한 글이다. Docker 컨테이너를 사용하는 용도는 여러가지가 있겠지만 이 글에서는 개발자가 만든 애플리케

www.popit.kr

 

 

📌 컨테이너 실행, 멈춤 

 

멈춘걸 다시 실행 하려면 이때는 run이 아니라 start를 해야한다 (run은 새로운 컨테이너 생성)

멈추는 명령어는 

 

 

📌 로그 보기

위는 stop 상태의 컨테이너 지난 로그를 보는 명령어

아래는 runing 상태의 컨테이너 로그를 실시간으로 받아보는 명령어

docker logs [컨테이너 이름]

docker logs -f [컨테이너 이름]

 

 

📌 컨테이너 삭제

실행중인 컨테이너는 바로 삭제할 수 없는데 -- force 옵션을 사용하면 stop하지 않아도 강제로 삭제된다.

docker rm [컨테이너 이름]

 

📌 이미지 삭제

docker rmi [이미지 이름]

보시다 시피 해당 이미지를 참조하는 컨테이너가 있는 경우 바로 삭제 되지 않으며 강제 삭제 옵션을 사용하거나 해당 컨테이너들을 모두 지우면  아래처럼 삭제 할 수 있다.

 

📌 도커 다운로드

 

Docker: Accelerated, Containerized Application Development

Docker is a platform designed to help developers build, share, and run modern applications. We handle the tedious setup, so you can focus on the code.

www.docker.com

자신의 OS 확인 후 다운로드

 

 

 

📌 설치는 그대로 진행

별도 선택사항이라고 해봐야 바탕화면의 아이콘을 추가할 것인지만 묻는다 

종료되면 아래처럼 재부팅할 것을 제안

 

 

 

📌 동의서 체크

재부팅 하고 나면 사용 서비스에 대한 동의서를 보여준다 동의 체크하면 사용 시작

(그림이 귀여워서 마음에 든다 😁)

 

 

📌 실행된 모습 

 

실행은 바탕화면 아이콘을 이용하거나

작업 표시줄의 오른쪽에 위치한 아이콘에서 고래를 찾아 오른쪽 클릭하여 메뉴를 바로 사용할 수 있다.

하지만 도커는 이런 GUI적으로 사용하기 보다 명령어를 사용해 잉요하는 것이 모든 서비스를 이용하기 좋다.

 

 

 

📌 파워쉘 또는 명령 프롬프트 등으로 실행

 

시작하자마자 에러

트러블슈팅

더보기

에러 메세지)

error during connect: This error may indicate that the docker daemon is not running.: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/images/json": open //./pipe/docker_engine: The system cannot find the file specified.

 

해결 포스팅)

 

error during connect: This error may indicate that the docker daemon is not running

error during connect: This error may indicate that the docker daemon is not running.: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/images/json": open //./pipe/docker_engine: The system cannot find the file specified. 문제) 도커를 설치하자마

littlezero48.tistory.com

 

 

📍 정상 실행

 

 

error during connect: This error may indicate that the docker daemon is not running.: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/images/json": open //./pipe/docker_engine: The system cannot find the file specified.

 

문제) 

도커를 설치하자마자 마주한 에러 ㅠ 설치만 했을 뿐인데 바로 아래와 같은 에러가 떴다.

도커가 아예 실행이 되지않는 것은 아님. 다만 설정에서의 무한 로딩과 아래와 같이 명령어 입력시 에러 메세지가 출력되고 정상작동 하지 않는다.

 

 

시도) 

 

📍 커맨드라인에서 실행해 보기 

가 안되서 .\DockerCli.exe -SwitchDaemon으로 해봤을때는 별다른 텍스트없이 되서 실행되나 했지만, 상태는 여전히 동일했다.

 

📍 가입 및 로그인

DashBoard 아래에 허브에 Connected 안됬다는 문구를 보고 혹시나 해서 가입하고 로그인해봤지만 여전히 상태는 같다.

 

📍 재부팅

재부팅이 필요하다 해서 재부팅 했으나 여전히 상태 그대로

 

📍 Docker Desktop 에서 설정 바꿔 주는 방법

설정 변경하는 방법 시도해 보려했으나 이상하게 무한 로딩 중, 설정에 들어갈 수 없다.

무한 로딩을 해결하려면 설정 버튼 옆 버그 아이콘을 눌러 Clen / Purge data를 눌러준 다음

모두 선택하고 delete

하는 방법이 있대서 시도했지만 무한 로딩도 해결 안됨

 

 

📍 WSL 환경을 만들기

환경 만들어주고 시도 해봤지만 상태 동일

 

 

📍 해결 : 

좀 허무한 이유 때문이었다. (이거 때문에 2시간 넘게 고생했는데 ㅠ)

재 설치 과정에서 알약이 뜨길래 확인해보니

도커에서 호스트 파일 변경을 시도하고 이걸 알약이 막아서 생기는 문제였다. 

도커 실행하면서 알약의 호스트 파일 보호 실시간 감지를 잠깐 끄니 바로 정상 작동 하는 걸 확인했다.

 

+ Recent posts