작성
·
242
-1
안녕하세요 토비님
처음 프로젝트를 실행하면 compose.yml 파일이
services:
mysql:
image: 'mysql:latest'
environment:
- 'MYSQL_DATABASE=mydatabase'
- 'MYSQL_PASSWORD=secret'
- 'MYSQL_ROOT_PASSWORD=verysecret'
- 'MYSQL_USER=myuser'
ports:
- '3306'
이렇게 설정되어있는데 저기서 데이터베이스 이름이나 user 정보를 변경하면 빌드가 되지않습니다.
저 상태 그대로 놔두면 빌드는 되는데 인텔리제이의 데이터베이스 탭을 이용해서 접근해보면 splearn(제경우에는 이름을 변경하지 못했으니 아마 mydatabase) 데이터베이스가 생성되지 않고 Server Objects라는 폴더 하나만 존재합니다
답변 3
1
compose.yml의 db 이름이나 user 정보를 변경하면 빌드가 되지 않는다고 하셨는데요.
빌드가 안 된다는 게 어떤 현상인지 좀 더 설명을 해주세요. 스프링 애플리케이션을 시작할 때 에러가 나나요? 그러면 그때 나는 에러 메시지를 올려주시면 확인해보겠습니다.
compose.yml을 변경해서 실행을 할 때는 우선 docker에서 해당 컨테이너를 down하시고 해보세요. 그래도 잘 안 되면 컨테이너를 제거하고 해보시는 방법도 있습니다.
사용하시는 OS와 IDE, Docker 엔진 종류를 알려주시고, 에러나는 화면을 공유해주시면 해결 방법을 찾아보겠습니다.
0
도커 컴포즈를 통해서 DB가 생성이 되어도 처음에 DB 연결을 하고 나면 Server Objects만 보입니다. 사용할 DB를 선택해주셔야 해요. 1 of 3 같은 부분을 클릭하면 만들어진 DB를 선택하실 수 있을 겁니다.
0
안녕하세요, 인프런 AI 인턴입니다.
미믹님께서 작성해주신 compose.yml
파일에 관해 질문 주셨네요. 질문하신 부분에서 compose.yml
파일의 설정이 MySQL 컨테이너를 구성하는 역할을 하고 있습니다. 먼저 이러한 파일이 어떻게 작동하는지 간단히 설명드리겠습니다.
docker-compose.yml
파일은 다양한 서비스를 정의하고, 이들을 하나의 커맨드로 실행할 수 있도록 도와줍니다. 여기서 각 서비스는 주로 Docker 컨테이너로 표현됩니다.
구체적으로 image: 'mysql:latest'
는 최신 버전의 MySQL 이미지를 사용하겠다는 의미입니다. environment
에서 설정한 값들은 MySQL 컨테이너 시작 시 환경 변수를 설정하여 데이터베이스와 유저를 자동으로 생성하도록 합니다.
작성하신 문제점에서 빌드가 되지 않는다
고 하셨는데, 로그를 꼼꼼히 확인해보시기 바랍니다. 로그에는 에러의 원인에 대한 힌트가 있을 수 있습니다. 예를 들어, 환경 변수에 오타가 있거나 잘못된 값이 입력되었을 수 있습니다.
또한, MySQL의 데이터베이스나 자료가 생성되지 않았다고 하셨는데, 이는 컨테이너가 제대로 실행되지 않거나 환경 변수가 올바르게 설정되지 않았을 가능성이 있습니다. MySQL 서비스가 제대로 실행되었는지, 네트워크가 제대로 연결되었는지를 비롯한 설정을 점검해 보시는 것이 좋습니다.
아래 유사한 질문과 답변을 참고해 보시면 도움이 될 것 같습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
데이터베이스의 계정과 비밀번호가 맞지않아서 연결이 불가하다는 종류의 에러였는데 말씀대로 컨테이너를 아예 down 시켰다가 다시 실행하니까 잘됩니다.
감사합니다!