울음참고 개발공부
article thumbnail
728x90

 


 

[ 원티드 프리온보딩 참가신청 정보

 

 

프리온보딩 알림 신청하고 오픈 소식을 받아보세요! | 원티드

이력서, 채용 공고, 연봉 정보, 직무 콘텐츠 등 이직 및 커리어 성장에 필요한 모든 것을 만나보세요.

www.wanted.co.kr

 

 

 

 

2월에 진행한 원티드 프리온보딩 백엔드 사전과제 중 도커를 연결하는 과정에 대한 정리 ( 24.01.31 마감)

 

사전 과제를 진행하기에 실력이 부족한터라 과제 제출은 하지 못했지만  ,

개인적으로 도커에 접속하는 방법(?) 등에 관해 간단하게 정리하려 한다. ( 개념이 부족하여 자세한 설명은 불가하다. ) 

 

참고로 도커를 사용해본적은 없다. 


 

[ 사전과제 자료 ]

 

https://github.com/jinho-yoo-jack/wanted-preonboarding-challenge-backend-16

 

GitHub - jinho-yoo-jack/wanted-preonboarding-challenge-backend-16: 원티드 프리온보딩 백엔드 챌린지 사전과제

원티드 프리온보딩 백엔드 챌린지 사전과제. Contribute to jinho-yoo-jack/wanted-preonboarding-challenge-backend-16 development by creating an account on GitHub.

github.com

 

 


 

 

위의 자료에서 압축파일을 다운받고, 다음과 같은 파일명으로 저장해서 진행

( 다운받은 파일에서 '-master' 만 지우면 됨 )

 

 

 

 


 

 

 

 

 

 

1. Docker Desktop 설치 

 

- 아래는 Window 용이다. 각자 환경에 맞게 설치하면된다. 

 

https://docs.docker.com/desktop/install/windows-install/

 

Install Docker Desktop on Windows

Get started with Docker for Windows. This guide covers system requirements, where to download, and instructions on how to install and update.

docs.docker.com

 

 

### 설치 확인 

docker version

 

 

정상적으로 설치된 경우 

 

 

 

⭐ ⭐ ⭐ ⭐ ⭐

2. docker 를 연결할 경로 설정

 

이 부분에 대한 지식이 없어 제일 오래 걸렸던 부분 ㅜㅜ 

 

 

 

 

 

 

2-1 ) 파일을 열어 docker-componse.yml 파일을 찾는다. 

    volumes:
      - /Users/black/dev/mysql_docker/data:/var/lib/mysql:rw
      - /Users/black/IdeaProjects/backend-preonboarding/src/main/resources/initdb:/docker-entrypoint-initdb.d

 

 

위는 초기 프로젝트 경로이고, 이걸 " 개인 환경에 맞게 수정 " 하면 되는 것인데 , 

이때 이 경로는 원하는경로를 생해주면 되는 것이다. 

 

처음에 도커에서 mysql 을 만들어서 거기서 존재하는 파일을 찾고 어쩌구 저쩌구 ~~ 하는 건줄 알고 어렵게 생각했다. 

 

 

2-2 ) 경로 맞추기 

 

' Users/ ' 뒤에 오는 경로는 컴퓨터마다 사용자명에 따라 다르니 맞게 맞춰주면 된다.

 

나의 경우 다음과 같다. 

 

 

 

 

 

경로는 다음과 같이 해준다. 

    volumes:
      - C:/Users/obndo/docker/mysql_docker/data:/var/lib/mysql:rw
      - C:/Users/obndo/IdeaProjects/wanted-preonboarding-challenge-backend-16/src/main/resources/initdb:/docker-entrypoint-initdb.d

 

 

 

 

2-3 ) 경로에 파일 위치 시키기 

 

이게 또 중요한데 !!!

 

다른건 놔두고 두번째 줄에서 'IdeaProject' 하위에 'wanted-preon~~ ' 이게 처음에 압축파일을 다운받아 저장했던 프로젝트이다 !!! 

 

그러니까 저기에 프로젝트가 존재해야한다는 것이다. 

 

그럼 그냥 obndo 에서 'IdeaProjects' 폴더를 생성하고, 거기에 다운받은 파일을 위치시키면된다. 

( 폴더명은 자유 ) 

 

 

 

 

docker 와 voulms 에 대한 지식이 있었다면 오래걸리지 않았겠지 ~~? 

 

 

 

 

3. docker-compose 실행 

 

- docker-comonse.yml 이 있는 디렉터리로 이동하여 다음 명령어 실행

docker-compose up -d

 

 

 

다음과 같이 생성되고, 시작되었으면 docker desktop 에서 확인해 본다.

 

 

 

 

컨테이너에 생성되서 잘 돌아가고 있다. 

 

 

- docker 띄우기
docker-compose.yml 이 있는 경로에서, docker-compose up -d

- doker 중지
docker-componse down

- doker 삭제
docker-compose down -v

 

 

 

4. ./resources/initdb 경로에 *.sql 있는지 확인 

 

 

 

 

docker desktop 에서 컨테이너에 있는 'mysql-1' 클릭 ( 위에 사진 참고 ) 

 

sh-4.4$ cd docker-entrypoint-initdb.d
sh-4.4$ ls

 

 

 

파일이 잘 있다. 

 

( 만약 없다면 해당 페이지 맨 아래에 첨부한 참고자료를 참고 ) 

 

 

 

5.mysql 접속 (docker 컨테이너 내의 mysql) 

 

docker 에서는 컨테이너를 실행하는 데 필요한 파일 설정 등을 포함하는 패키지를 'image' 라고 한다 .

 

 

마찬가지로 4번에서 사용한 컨테이너에서 다음 명령어를 사용해 접속한다. 

 

mysql -u root -p

 

 

 

username : root 

password : preonboarding 

 

 

### 테이블 확인 

show databases;
use wanted
show tables;

 

 

 

 

여기서 performance 테이블 조회 

 

 

 

레베카 공연이 하나 있다. 

 

 


 

 

여기까지 docker 를 연결한 것 

 

이제 이 데이터들을 가지고 수정하여 개발을 진행해 나가면 된다.. 

갈 길이 엄청 엄청 멀다 ~~~ 

 

 

도커에 관한 개념 추후에 사용하면서 추가로 더 정리해 두기 !!! 

 

 

 

 

 


 

 

[ 참고 자료 ]

 

 

/resources/initdb경로 안에있는 *.sql파일 질문드립니다. · Issue #5 · jinho-yoo-jack/wanted-preonboarding-challeng

일단 서버 정상적으로 동작하는데, *.sql안에 있는 쿼리가 동작하지 않는 것 같습니다. 원래 동작 안하는게 맞는 건가요?? 그게 맞다면 해당 스크립트를 복사해서 mysql에 접속하여 직접 생성해야

github.com

 

728x90
profile

울음참고 개발공부

@메각이

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!