window wsl 환경의 ubuntu 에서 진행
docker-compose.yml 파일을 작성 후 실행 하였더니 다음과 같은 에러가 발생했습니다.
Error response from daemon: invalid volume specification:
처음엔 volume에 없는 경로를 지정하여 발생했다고 생각해 다시 확인 했지만 그건 아니었습니다.
(기존 docker-compose.yml 파일)
version: '3'
name: kafka_test
services:
mysql:
image: mysql
container_name: mysql
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: ****
MYSQL_USER: root
MYSQL_PASSWORD: ****
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
volumes:
- d:/mysql/data:/var/lib/mysql
zookeeper:
container_name: zookeeper
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
container_name: kafka
image: wurstmeister/kafka
depends_on:
- zookeeper
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
KAFKA_ADVERTISED_PORT: 9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
해결 방법:
Windows Subsystem for Linux (WSL)을 사용하여 Ubuntu에서 Docker Desktop을 실행하고 있기 때문에 경로 문제가 발생할 수 있습니다.
WSL에서는 Linux 경로 형식을 사용해야 합니다.
(수정 후 docker-compose.yml)
version: '3'
name: kafka_test
services:
mysql:
image: mysql
container_name: mysql
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: ****
MYSQL_USER: root
MYSQL_PASSWORD: ****
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
volumes:
- /mnt/d/mysql/data:/var/lib/mysql # 수정된 부분
zookeeper:
container_name: zookeeper
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
container_name: kafka
image: wurstmeister/kafka
depends_on:
- zookeeper
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
KAFKA_ADVERTISED_PORT: 9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /mnt/d/mysql/data:/var/lib/mysql # 수정된 부분
/mnt/d/mysql/data는 WSL에서 Windows 드라이브 D:의 mysql/data 경로를 나타냅니다.
해.완
'Error' 카테고리의 다른 글
ssh 원격 접속 오류: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! (0) | 2023.11.28 |
---|