티스토리 뷰

이번시간에는 도커를 실행할 때 발생하는 에러들과 해결법을 알아보겠다. 모든 코드와 설명은 해당 블로그를 참고했다. 블로그가 2017년에 작성된것이라 아무래도 오류가 많았다. 

 

 

M1 맥에서 mysql 이미지 다운로드 및 실행

블로그에서의 명령어는 다음과 같다. 

 

docker run -d -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=true --name mysql mysql:5.7

 

하지만 에러가 뜬다. 검색해보니 Apple 실리콘이 탑재된 컴퓨터에서는 옵션을 붙여주어야 한다고 한다. 옵션 명령어는 다음과 같다. 

 

--platform linux/amd64

 

따라서 아래 명령어를 입력하면 정상적으로 실행이 될 것이다. 이름 옵션에서는 자신이 원하는 이름을 지어주어도 상관없다. 

 

 docker run --platform linux/amd64 -d -p 3306:3306 -e MYSQL_PASSWORD=root --name mysql_container mysql

 

 

이미 사용중인 포트 

위 명령어를 입력하면 아래와 같은 문구가 뜰 것이다.

 

docker: Error response from daemon: Ports are not available: 
exposing port TCP 0.0.0.0:3306 -> 0.0.0.0:0: listen tcp 0.0.0.0:3306: 
bind: address already in use.

 

하지만 작동은 정상적으로 되는 것 같다.. 혹시 몰라 모든 컨테이너를 삭제했다. 모든 컨테이너를 삭제하는 명령어는 다음과 같다. 

 

docker rm -f $(docker ps -aq)

 

그래도 같은 에러가 뜬다. 이 에러는 나중에 다시 살펴봐야겠다. 

 

 

워드프레스 실행

블로그에서 아래 명령어를 실행하라고 했다. 하지만 아래 구문이 뭘 뜻하는지 몰랐다. 워드프레스를 만져본 적도 처음이고 도커도 처음이었기 때문이다. 그래서 찾아보았더니 아래 명령어를 입력함으로써 워드프레스 컨테이너가 우리가 만든 wp 데이터베이스의 정보를 알 수 있게 하는 명령어라고 한다. 

 

grant all privileges on wp.* to wp@'%' identified 'wp';

 

실행했더니 에러가 났다.

 

ERROR 1064 (42000): You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version for the right syntax 
to use near 'identified 'wp'' at line 1

 

친절하게 identified 'wp' 에서 오류가 났다고 말을 해준다. 워드프레스를 실행하기 위해선 먼저 User를 생성해주어야 한다. User를 생성하는 명령어는 다음과 같다. 

 

create User wp@'%' identified by 'root 비밀번호';

 

 

User를 만들고 다시 컨테이너를 생성하려고 하면 에러가 뜰 것이다. mysql 8버전 이후 워드프레스를 생성하는 명령어가 바뀌었다. 바뀐 명령어는 다음과 같다. 

 

grant all privileges on wp.* to wp@'%';

'Docker' 카테고리의 다른 글

Docker Compose의 편리함을 알아보자  (0) 2022.10.25
도커 설치와 간단하게 실행해보기  (0) 2022.10.21
도커의 탄생배경과 동작원리  (0) 2022.07.08
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday