对于django应用程序,我具有以下Dockerfile:
FROM python:3.6
RUN mkdir /server
WORKDIR /server
RUN apt-get update && apt-get upgrade -y && apt-get install -y \
libsqlite3-dev
RUN pip install -U pip setuptools
RUN pip install --upgrade pip
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
WORKDIR /server/django
ENTRYPOINT ["/bin/bash", "../docker-entrypoint-server"]
与之相关的相关docker-compose:
version: '3'
services:
server:
build: .
container_name: server
environment:
SERVER_ENV: ${SERVER_ENV}
DB_AUTH_SOURCE: ${DB_AUTH_SOURCE}
DB_NAME: ${DB_NAME}
DB_HOST: ${DB_HOST}
DB_USER: ${DB_USER}
DB_PASSWORD: ${DB_PASSWORD}
networks:
- app
ports:
- 8081:8000
volumes:
- .:/server
command: /bin/bash
tty: true
stdin_open: true
它们在Linux / mac上像超级按钮一样工作,但在Windows 10上却不起作用。当构建到达COPY指令时,它所复制的都是目录,并且 only 仅是其中的第一个嵌套目录,没有附加内容。
试图检查docker上的共享C:\选项,但没有工作。 尝试在具有管理员权限的Powershell上执行任何操作。
可能是什么原因?为什么它可以在两个主机操作系统上运行而不在Win 10上运行?
Windows:Windows 10教育版1803
Linux:Ubuntu 18.03 LTS
Mac:High Sierra 10.03
Docker:所有操作系统上的最新版本
事实证明,JDPeckham指出的取消共享和共享揭示了问题:由控制这些配置的防病毒软件引起的防火墙配置错误。
本文:https://success.docker.com/article/error-a-firewall-is-blocking-file-sharing-between-windows-and-the-containers对于解决这些问题很有帮助。