홈>
며칠 전에 새 랩톱에 도커를 설치했습니다. 도커를 잠시 사용해 왔고 기본 사항을 잘 알고 있습니다. 그러나 어떤 이유로 든 계속 같은 문제에 부딪 히고 여기 누군가 누군가 나를 도울 수 있기를 바랍니다.
Windows 10 Home 랩톱에 Docker Toolbox를 설치 한 후 docker-compose.yml을 사용하여 만든 일부 이미지를 실행하려고했습니다. Windows의 내 사용자 디렉토리에는 정확한 이름 (C :/Users/Nick van der Meij)이 있고 그 이름에는 공백이 있으므로 Docker Host의 C :/code에서/mnt/code로 공유 폴더를 추가했습니다 ( 이 작동합니다). 이 가이드를 사용했습니다. 그렇게하려면
그러나 docker-compose.yml (아래 포함)을 실행하려고하면 다음 오류가 발생합니다.
ERROR: for php Cannot create container for service php: create \mnt\code\basic_php\api: "\\mnt\\code\\basic_php\\api" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed
[31mERROR[0m: Encountered errors while bringing up the project.
내가 아는 한, 볼륨에 대한 공식 도커 문서에 따르면 모든 것이 올바른 것 같습니다. 이 문제를 해결하기 위해 많은 시간을 보냈지 만 볼륨 태그에 대해 여러 가지 "형식"을 시도했지만 성공하지 못했습니다.
문제가 무엇인지 아는 사람이 있습니까?
미리 감사합니다!
docker-compose.yml
version: '2'
services:
mysql:
image: mysql:5.7
ports:
- 3306
volumes:
- /var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_USER: user
MYSQL_PASSWORD: password
MYSQL_DATABASE: database
nginx:
image: nginx:1.10.2
ports:
- 80:80
- 443:443
restart: always
volumes:
- /mnt/code/basic_php/nginx/conf:/etc/nginx/conf.d
- /mnt/code/basic_php/api:/code/api
- /mnt/code/basic_php/nginx:/code/nginx
links:
- php
- site
depends_on:
- php
- site
php:
build: php
expose:
- 9000
restart: always
volumes:
- /mnt/code/basic_php/php/conf/php.ini:/usr/local/etc/php/conf.d/custom.ini
- /mnt/code/basic_php/api:/code/api
links:
- mysql
site:
restart: always
build: site
ports:
- 80
container_name: site
- 답변 # 1
- 답변 # 2
git bash 사용 및 수행
export COMPOSE_CONVERT_WINDOWS_PATHS=1
그런 다음
docker-compose up -d
- 답변 # 3
또는 단순히 이중 백 슬래시를 사용하십시오
winpty docker run -it -v C:\\path\\to\\folder:/mount
관련 자료
- Travis를 사용할 때 마운트 된 Docker 볼륨의 소유권이 다릅니다
- Netflix 도체 서버 로컬 도커 컨테이너가 건강하지 않습니다
- jenkins - 도커 에이전트 옵션이 공유 라이브러리에 유효하지 않습니다
- 로컬 Docker 이미지를 Docker Hub 저장소로 푸시 할 수없는 이유는 무엇입니까?
- node.js - Docker Volume의 양방향 동기화 대신 단방향 동기화?
- sandbox - docker deploy hdp 오류 - 유효하지 않은 참조 형식
- postgresql - Docker 컨테이너에서 로컬 postgres 데이터베이스에 연결
- java - 정규식 - 모든 유효하지 않은 문자를 빈 문자열로 바꿉니다
- 젠킨스 단계 내 도커 볼륨 문제
- Docker 볼륨 및 호스트 폴더 매핑
- Docker Windows 10 Pro 볼륨 디렉토리에 쓸 수 없음
- jenkins pipeline - jenkinsfile에 도커 컨테이너의 결과를 공유하기 위해 볼륨을 마운트하십시오
- Docker 파일 COPY 명령에서 로컬 env 변수를 사용할 수 있습니까?
- 로컬 Docker 레지스트리에서 로컬 Kubernetes (minikube)를 가져올 수 없음
- Docker가 MySQL 볼륨에 유효하지 않은 유효하지 않은 스펙을 작성
- 도커 - 로컬 볼륨의 사용 및 볼륨에 대한 관찰
- docker - dockerfile의 volume 이해
- dockerfile - 도커 볼륨 마운트 윈도우 컨테이너
- mongodb - 마이크로 서비스 애플리케이션… 데이터베이스 용 도커 볼륨 또는 도커 볼륨이 없습니까?
- php - 로컬 워드 프레스 개발을 위해 도커에 복사기 아카이브 설치
관련 질문
- docker의 rundeck 구성 이메일 알림 작업
- docker-compose에서 스왑 메모리를 사용하는 방법
- java : 도커 컨테이너에서 Gradle 테스트 보고서에 액세스하는 방법
- docker-compose를 실행할 때 "python39.dll 압축 해제 오류" 발생
- Docker Compose는 "네트워크에 IPv4가 겹칩니다"라는 오류를 반환합니다.
- Docker Compose를 사용하여 동일한 서비스의 여러 컨테이너 만들기
- postgresql : docker-compose up -d를 사용하여 Docker 호스트에서 Postgres에 연결하는 방법
- Docker에서 API와 WEB 서비스 간의 통신을 설정할 수 없음
- linux : Docker: 로컬 MySQL 볼륨에 대한 권한이 거부되었습니다.
- Docker에서 실행되는 디버그 python 애플리케이션
웹을 검색 한 몇 시간 후, 마침내 내가 찾던 것을 발견했습니다. Wolfgang Blessen이 내 질문 아래의 의견에서 말했듯이 문제는 실제로 Windows 경로 문제였습니다.
도 커가 경로 창을 유닉스로 자동 변환하지 못하게하려면 다음과 같이 설명 된 값으로 COMPOSE_CONVERT_WINDOWS_PATHS 환경 변수를 추가해야합니다 .link