>

며칠 전에 새 랩톱에 도커를 설치했습니다. 도커를 잠시 사용해 왔고 기본 사항을 잘 알고 있습니다. 그러나 어떤 이유로 든 계속 같은 문제에 부딪 히고 여기 누군가 누군가 나를 도울 수 있기를 바랍니다.

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

    웹을 검색 한 몇 시간 후, 마침내 내가 찾던 것을 발견했습니다. Wolfgang Blessen이 내 질문 아래의 의견에서 말했듯이 문제는 실제로 Windows 경로 문제였습니다.

    도 커가 경로 창을 유닉스로 자동 변환하지 못하게하려면 다음과 같이 설명 된 값으로 COMPOSE_CONVERT_WINDOWS_PATHS 환경 변수를 추가해야합니다 .link

  • 답변 # 2

    git bash 사용 및 수행

    export COMPOSE_CONVERT_WINDOWS_PATHS=1
    
    

    그런 다음

    docker-compose up -d
    
    

  • 답변 # 3

    또는 단순히 이중 백 슬래시를 사용하십시오

    winpty docker run -it -v C:\\path\\to\\folder:/mount
    
    

관련 자료

  • 이전 R의 CSV 파일에 회귀 요약 쓰기
  • 다음 xamarin.ios - MonoDroid 및 MonoTouch의 휴대용 클래스 라이브러리 어셈블리 참조 문제