[Docker] Docker의 모든 것
·
DevOps
1. 기본 개념 이해 백엔드 개발에서 발생하는 문제백엔드 개발자가 만든 프로그램을 다른 사람(팀원이나 서버)에 옮겨서 실행하려고 할 때 '왜 내 컴퓨터에서는 잘 되는데 서버에서는 오류가 나지?' , '버전이 달라서 쿼리가 안돌아간다고?' 와 같이 실행이 안되는 경우가 정말 많다. 나도 처음 UMC 프로젝트를 하는데 Docker를 사용하지 않아, 각자 환경이 달라서 '제 로컬에서는 되는데요...?' 라고 했던 경험이 있다. → Docker는 이 문제를 해결하는 도구이다. Docker의 핵심 아이디어 Docker는 프로그램을 실행하기 위해 필요한 모든 것(코드, 라이브러리, 설정, 운영체제 일부)을 하나의 상자 안에 담는다. 그리고, 그 상자를 우리는 `이미지(Image)`라고 한다. 이미지를 실행하면 `컨..
Docker로 MySQL 환경 구성해서 팀원들에게 제공하기
·
DevOps
들어가며초기 개발 환경 세팅 시에, 모든 팀원들이 동일한 db 환경을 사용하는 것이 중요하다. 특히, 로컬에서 각자 MySQL을 따로 설치, 설정하면 버전의 차이나 설정의 차이로 인해 오류가 생기기 쉽다. (실제 내 경험이다... 첫 프로젝트에서는 각자 설치했더니 누구는 로컬에서 안돌아가고, 누구는 돌아가고 해서 생기는 이런 사소한 문제들이 있었다.. ㅠㅠ) 그래서 Docker를 사용해 MySQL 환경을 통일시키고 이를 팀원들이 바로 가져다가 쓸 수 있도록 환경을 구성하는 것이 좋다. Docker Compose로 MySQL 환경 구성 1. docker-compose.yml 작성 version: '3.8'services: db: # MySQL image: mysql:8.0 restart: a..