为什么docker-compose.yml文件在Windows 10上不起作用?但是相同的文件可以在Mac上运行

时间:2019-06-05 03:22:43

标签: docker docker-compose dockerfile

  • docker版本(MacOS)
Client: Docker Engine - Community
 Version:           18.09.2
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        6247962
 Built:             Sun Feb 10 04:12:39 2019
 OS/Arch:           darwin/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.2
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.6
  Git commit:       6247962
  Built:            Sun Feb 10 04:13:06 2019
  OS/Arch:          linux/amd64
  Experimental:     false
  • docker版本(Win 10)
Client:
 Version:           18.03.0-ce
 API version:       go1.9.4
 git commit:             Sun Feb 10 04:12:39 2019
 OS/Arch:           falsews/amd64
 Orchestrator:      swarm

Server: Docker Engine - Community
 Engine:
  Version:          18.09.6
  API version:      go1.10.8inimum version 1.12)
  Git commit:       6247962
  Built:            Sun Feb 10 04:13:06 2019
  OS/Arch:          false/amd64
  Experimental:     
  • docker-compose.yml
version: "3"

services:

    web:
        image: acc:v1
        container_name: web
        # privileged: true
        ports:
            - "9090:8000"
        links:
            - db
        depends_on:
            - db
        volumes:
            - ./code/:/usr/src/app/web/
        networks:
            - account
        restart: always
        command: bash -c "tail -f /dev/null"

    db:
        image: db:v1
        # privileged: true
        ports:
            - "9906:3306"
        container_name: db
        environment:
            - MYSQL_ROOT_PASSWORD=my
        restart: unless-stopped
        networks:
            - account

    nginx:
        image: nn:v1.1
        # privileged: true
        ports:
            - "8082:80"
            - "8083:8080"
        container_name: nginx
        restart: unless-stopped
        depends_on:
            - web
        links:
            - web
        volumes:
            - ./nginx/:/root/html/
        networks:
            - account

networks:
    account:
        driver: bridge

  • MacOS可以。
$ docker-compose up -d
  • Win 10不是。
    1. 第一步
$ docker-compose up -d
error: can't create..: No command specified. 
  1. 第二步 ==>在.yml文件中添加命令
...
        networks:
            - account
        command: /bin/bash
...
error: OCI runtime create failed:..(345):starting container process caused "exec : /bin/bash":stat /bin/bash: No such file or directory: unknow.
  1. 第三步 ==>更改命令
    • 我尝试过sh | / bin / bash | / bin / sh | ls | / bin / ls |等等。

太奇怪了。 我想在Windows 10上使用docker-compose.yml文件运行容器。

1 个答案:

答案 0 :(得分:0)

我不禁要问您是否具有Ubuntu或Linux bash环境,以便在Windows中运行bash命令。

http://techgenix.com/bash-on-windows-10/ 您将需要它能够运行以下命令: in your Docker-compose.yml command: bash -c "tail -f /dev/null"