inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 MySQL on Docker

커스텀 이미지로 컨테이너 생성 시 실행이 안됩니다..

해결된 질문

496

윌던

작성한 질문수 6

0

모니터링 수업 부분에서 커스텀 이미지를 만들고 mydb 컨테이너 까지 만드는 것은 성공했습니다.

다음 수업에서 

groupadd -g 1002 mysql

useradd -u 1002 -r -g 1002 mysql

chown -R mysql:mysql /db/db001 /db/db002 /db/db003

한 다음 

docker run -i -t --name db001 -h db001 -p 3306:3306 \ --net mybridge --net-alias=db001 \ -v /db/db001/data:/var/lib/mysql \ -v /db/db001/log:/var/log/mysql \ -v /db/db001/conf:/etc/percona-server.conf.d \ -e MYSQL_ROOT_PASSWORD="root" -d mysql57:0.0

명령어 실행 후 컨테이너는 생성되는데 아무리해도 컨테이너가 실행이 안됩니다.

docker start db001 해도 안되고....

아래는 docker logs db001 내용입니다.

2021-04-17T15:00:55.631444Z 0 [ERROR] Could not open file '/var/log/mysql/mysqld.log' for error logging: Permission denied

2021-04-17T15:00:55.631489Z 0 [ERROR] Aborting

그룹과 유저를 생성할 때 기존에 1001이 있어서 1002로 해서 만들었습니다.

강의 내용과 다른 부분은 1002로 gid 를 바꾼거 말곤 없는데 어디서 잘못 되었는지 무엇을 찾아봐야 하는지 도와주세요... 

mysql docker

답변 3

0

김영헌

안녕하세요.

에러 메세지 내용으로만 보면 docker host의 시간과 브라우저가 실행되는 로컬 pc의 시간이 달라서 생기는 에러 같은데요.

시간이 다른 한쪽의 시간을 맞춰주면 되지 않을 까 싶은데요.

리눅스에서의 시간변경은 검색하면 잘 정리된 내용을 찾아볼 수 있을 거 같습니다.

아래는 제가 찾아본 페이지인데요.

참고하셔서 시간을 한번 수정해 보시겠어요?

https://m.blog.naver.com/ree31206/221990548874

0

윌던

강사님 답변을 받고 수정하여 컨테이너 생성 및 실행에 성공했습니다

prometheus 컨테이너 까지 실행해서 

브라우저에서 docker_host_ip:9090/graph 를 입력해서 잘 들어가지는데

Error fetching server time: Detected 332.1619999408722 seconds time difference between your browser and the server. Prometheus relies on accurate time and time drift might cause unexpected query results.

이렇게 에러가 나오네요...

검색에 up을 입력해서 결과를 보면 잘 나오는거 까지 확인이 되는데 위 에러메시지가 브라우저 접속하면 뜨는데

리눅스 서버 시간 설정을 해줘야 하나요?

리눅스와 도커 모두 완전 생 초보라서 어렵기만 하네요....

강의처럼 결과는 잘 나오고 있긴해서, 그냥 무시해도 되는 에러인지도 모르겠고...

자꾸 귀찮게 하는거 같아 죄송합니다.

0

김영헌

안녕하세요.

Docker host에 mysql user를 생성할 때 uid와 gid를 1001로 만드는 이유는 컨테이너에서 생성되는 mysql user의 uid, gid와 동일하게 맞춰주기 위해서인데요.

Docker host의 uid, gid를 1002로 생성하려면 Docker custom image를 생성할 때 Dockerfile에 uid, gid 생성하는 부분에서도 마찬가지로 uid, gid를 1002로 변경해 주셔야 합니다.

Dockerfile에서 해당 부분을 수정하시고.

기존에 생성된 커스텀 이미지를 삭제히고 다시 생성하신 후에 컨테이너를 생성하시면 될 거 같습니다.

기존 이미지 삭제는 

# docker images 

mysql57 의 이미지 id 를 확인하시고, 아래 명령으로 삭제하시면 됩니다.

# docker rmi [image id]

0

윌던

아... 그렇군요....

gid, uid 도 그냥 아무런 번호가 아니었군요...

Dockerfile을 자세히 안본 제 불찰입니다

Dockerfile을 확인해보니 RUN 부분에서 해당 부분을 확인했습니다

빠른 답변 정말 감사드립니다

pdf 압축파일 제공

0

40

1

auto failover 에서 db001 재실행시 db001 read_only 설정하기전 db001, db002 양쪽으로 저장되는 현상

0

189

1

그라파나에서 에러가 발생합니다

0

412

1

CentOS EOS에 따라 기존의 레포지토리 내 패키지들이 삭제되어에러 발생!

0

366

1

프로덕션 환경에서 데이터 베이스 구성에 대하여.

0

246

1

Proxy SQL에 대한 질문입니다.

0

255

1

docker-compose 후 shell 정상작동 후 mysql dashboard 정상작동안함 ㅁ누의

0

178

1

docker-compose build시 db002~db003 not working daemon 현상

0

258

1

testdb.insert_test 테이블 존재 하지 않음에 관한 문의

0

280

2

물리 서버 2대로 Master/Slave 구조가 가능한가요?

0

309

1

failover 진행중 둘다 slave로 설정

0

290

1

app_test_conn.sh

0

300

3

docker orchestrator 설치후 웹접속

0

254

1

docker에서 percona 컨테이너 생성시

0

295

2

app_test_insert.sh 쉘 스크립트 실행 오류

0

238

1

프로메테우스 사용 이유

0

374

1

Slave 서버에서 Master 서버와 연결하는 명령어 입력하면 에러 발생 질문

0

620

2

강의 따라하다가 컴퓨터 재부팅했더니

0

500

1

docker run ... -h -h옵션이 무엇인가요

0

431

1

gluster 설치관련 질문입니다

0

741

2

도와주세요!!!

0

880

2

[Dockerfile] RUN yum install

0

2082

4

HA Fail-over 질문드립니다.

0

905

1

CRUD와 Replication 질문 드립니다.

0

821

1