
--link를 통해 컨테이너 간 링크 연결하여 서비스를 작동하는 방법
wordpress는 mysql과 연계되는 서비스로 두 컨테이너를 연결해보겠습니다.
MySQL:5.7컨테이너 생성
mysql:5.7 컨테이너를 실행-d 백그라운드 실행--name 이름은 mysql-v /dbdata:/var/lib/mysql : 호스트의 /dbdata 경로를 컨테이너 /var/lib/mysql 경로로 볼륨 지정-e MYSQL_ROOT_PASSWORD=wordpress : ROOT 환경변수 비밀번호를 wordpress-e MYSQL_PASSWORD=wordpress : 환경변수 비밀번호를 wordpressdocker run -d --name mysql -v /dbdata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=wordpress -e MYSQL_PASSWORD=wordpress mysql:5.7
MySQL이 exit 되는 오류 발생
- 문제상황 : -v /dbdata:/var/lib/mysql 가 문제
- 원인 : 호스트에 /dbdata가 존재해서 생기는 오류이다.
- 해결방법1 :
-v /var/lib/mysql로 마운트만 시켜줌- 해결방법2 : 호스트의
/dbdata디렉토리 삭제
Wordpress:4컨테이너 생성
docker run -d --name wordpress --link mysql:mysql -e WORDPRESS_DB_PASSWORD=wordpress -p 80:80 wordpress:4
MySQL버전 오류
mysql:8혹은mysql:latest로 지정하니 다음과 같은 오류가 떴다.Warning: mysqli::__construct(): The server requested authentication method unknown to the client [caching_sha2_password] in Standard input code on line 22
- 확인해보니 환경변수 비밀번호 설정에 문제가 있었다.
mysql:5.7로 버전을 바꾸니 해결되었다.