首页 > 解决方案 > 使用 Makefile 在 Windows 10 上运行 Docker 映像

问题描述

如果这是一个愚蠢的问题,我深表歉意,但是当我在 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

非常感谢任何建议。

标签: windowsdockermakefile

解决方案


您不必使用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部分
  • -wworking_dir用部分替换的标志

如何使用

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

请注意,这是一个关于如何使用的简单示例docker-compose。这是一个强大的功能,允许从多个图像启动容器、创建网络等等。我建议您阅读官方文档以获取更多信息。


推荐阅读