使用Makefile在Windows 10上运行Docker映像

时间:2018-12-19 23:01:10

标签: windows docker makefile

如果这是一个愚蠢的问题,我感到抱歉,但是当我在Window 10的PowerShell中键入内容时:

docker run -it -v C:\Users\Bob\Documents\test:/usr/python -w /usr/python 
bob/python

它工作正常,并且收到以下提示:

root@63eef6ac2b96:/usr/python#

为避免一遍又一遍地重复该命令,我构建了一个包含以下命令的makefile

docker:
    docker run -it -v C:\Users\Bob\Documents\test:/usr/python -w /usr/python bob/python

当我尝试执行时

make docker

我收到以下错误

PS C:\Users\Bob\documents\test> make docker
docker run -it -v C:\Users\Bob\Documents\test:/usr/python -w /usr/python 
bob/python
c:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from 
daemon: the working directory 'C:/MinGW/msys/1.0/python' i
s invalid, it needs to be an absolute path.
See 'c:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.
make.exe": *** [docker] Error 125

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:0)

您不必使用Makefile。您正在寻找Docker compose。

简而言之,您需要创建一个docker-compose.yml文件,并在其中描述所有所需的步骤。我不知道您的完整设置,但我会尝试为您的docker-compose文件提供框架。

version: '3.7'(depends on your docker engine version)
services:  
  python_service(add a name of your choice):
    build: build/ (The path of image's Dockerfile)
    volumes:
      - C:\Users\Bob\Documents\test:/usr/python
    working_dir: /usr/python

在上面的代码段中:

  • -v标志已替换为volumes部分
  • -w标志替换为working_dir部分

使用方法

现在docker-compose文件已准备就绪,您需要使用它。因此,您无需记住/重复执行docker run命令,只需在撰写文件所在的目录中简单执行docker-compose up,即可启动并运行容器。

请注意,这是有关如何使用docker-compose的简单示例。它是一项强大的功能,允许从多个映像启动容器,创建网络等。我建议您阅读official documentation以获得更多信息。