Docker создает работу в среде Linux, но не в среде Windows - PullRequest
0 голосов
/ 10 июля 2019

Я использую 2 среды для разработки, одна из них - виртуальная машина Linux дома, а другая - ноутбук Windows в офисе.Докер-файл угловой среды работал нормально до тех пор, пока несколько дней назад при попытке запуска контейнера докера с помощью docker compose на ноутбуке я обнаружил следующую ошибку:

ng    | /bin/sh: 1: sudo: not found
ng exited with code 127

Однако такой же проблемы не возникаетна моей linux VM.

Dockerfile:

FROM node:12

RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
RUN apt-get update && apt-get install -yq google-chrome-stable

RUN mkdir /app
WORKDIR /app

ENV PATH /app/node_modules/.bin:$PATH

COPY package.json package-lock.json /app/

RUN npm install
#RUN npm install -g @angular/cli

COPY . /app

EXPOSE 4200

CMD ng serve --host 0.0.0.0

docker-compose.yaml:

version: "3"

services:
  dj:
    container_name: dj
    build: Backend
    command: python manage.py runserver 0.0.0.0:80
    volumes:
      - ./Backend:/code
    ports:
      - "80:80"
  ng:
    container_name: ng
    build: Frontend/SPort
    volumes:
      - ./Frontend/SPort:/app
    ports:
      - "4200:4200"

1 Ответ

2 голосов
/ 10 июля 2019

Я думаю, что вы хотите исправить скрипт sh в вашем Dockerfile

, добавьте следующее:

RUN  apt-get update && apt-get install -y dos2unix && dos2unix /path/to/the/script

надеюсь, что это поможет, так как ошибка исходит от CRLF символовв окнах

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...