2016-01-28 2 views
7

Я пытаюсь выполнить npm install в файле Docker, но даже когда предполагается отключить цвета, цветовые коды все еще появляются в журналах сборки Dockerhub.npm install показывает цвета во время установки на Docker Hub

Что я могу делать неправильно?

Вы можете найти Dockerfile с деталями сборки на Докер Hub: https://hub.docker.com/r/amcsi/szeremi/builds/btk4utf3whezxqhnbzpkhyw/

Dockerfile:

FROM node 
MAINTAINER Attila Szeremi <[email protected]> 
RUN mkdir /src 
WORKDIR /src 
RUN cd /src 
# Copy just the package.json file file as a cache step. 
COPY package.json /src/package.json 
# Disable progress so npm would install faster. 
# Disable colors, because Dockerhub can't display them. 
# Install NPM packages excluding the dev dependencies. 
RUN npm set progress=false && npm set color=false && npm install --production 

COPY . . 
RUN npm run build 
EXPOSE 8080 
CMD ["npm", "run", "start"] 

Пример Результат построения сценария:

Step 3 : WORKDIR /src 
---> Running in 4a8ec4902bee 
---> ce66cec7780b 
Removing intermediate container 4a8ec4902bee 
Step 4 : RUN cd /src 
---> Running in 561c6d10cdb8 
---> c12b27e7c01a 
Removing intermediate container 561c6d10cdb8 
Step 5 : COPY package.json /src/package.json 
---> ebbb940c8911 
Removing intermediate container c39be008ad46 
Step 6 : RUN npm set progress=false && npm set color=false && npm install --production 
---> Running in c9ebee32f367 
[91mnpm[0m[91m [0m[91minfo[0m[91m [0m[91mit worked if it ends with[0m[91m ok 
[0m[91mnpm[0m[91m [0m[91minfo[0m[91m [0m[91musing[0m[91m [email protected] 
[0m[91mnpm[0m[91m [0m[91minfo[0m[91m [0m[91musing[0m[91m [email protected] 
[0m[91mnpm[0m[91m [0m[91minfo[0m[91m [0m[91mconfig[0m[91m set "progress" "false" 
[0m[91mnpm[0m[91m [0m[91minfo[0m[91m ok 
[0m[91mnpm[0m[91m [0m[91minfo[0m[91m [0m[91mit worked if it ends with[0m[91m ok 
[0m[91mnpm[0m[91m [0m[91minfo[0m[91m [0m[91musing[0m[91m [email protected] 
[0m[91mnpm[0m[91m [0m[91minfo[0m[91m [0m[91musing[0m[91m [email protected] 
[0m[91mnpm[0m[91m [0m[91minfo[0m[91m [0m[91mconfig[0m[91m set "color" "false" 
[0m[91mnpm[0m[91m [0m[91minfo[0m[91m [0m[91mok[0m[91m 
[0m[91mnpm[0m[91m [0m[91minfo[0m[91m [0m[91mit worked if it ends with[0m[91m ok 
[0m[91mnpm[0m[91m [0m[91minfo[0m[91m [0m[91musing[0m[91m [email protected] 
[0m[91mnpm[0m[91m [0m[91minfo[0m[91m [0m[91musing[0m[91m [email protected] 
+0

ли вы отключить цвета в терминале хозяина? – ipinak

+0

В этом терминале нет цветов, что является выходным представлением Docker Hub о том, как идут шаги в Dockerfile. –

ответ

0

FROM node означает node 6.5 (в настоящее время последний в сентябре 2016 года)

Как упоминалось в issue 225, это поставляется с индикатором выполнения (который вы пытались отключить) и спиннер.

Попробуйте простой тест:

FROM node:6.4.0 

ENV NPM_CONFIG_PROGRESS false 
ENV NPM_CONFIG_SPIN false 

WORKDIR /app 

RUN npm install express 

Или путем копирования .npmrc с:

progress=false 
spin=false 

Или путем добавления --color false непосредственно к npm install команды:

npm --color false install --production 

Если ничего не работает, повторно открыть вопрос 225, так как это самый последний отчет об ошибке, уе.

Или рассмотреть возможность запуска задания в Дженкинс с AnsiColor Plugin по крайней мере поддержке ф


Поскольку этот ответ (октябрь 2016), выпуск 225 упоминаний:

Проблема заключается в том, что ваш Дженкинс просто не поддерживает escape-последовательности ANSI на выходе консоли.
Все выходные данные на STDERR в вашем файле Dockerfile печатаются красным путем сборки докеров. Так, как упоминалось @tianon, просто используйте AnsiColor + Plugin, чтобы исправить это.

Так один способ обойти это, чтобы игнорировать любой выход, как уже упоминалось Zack Steinkamp в this comment of the issue 225 с RUN npm install 2>&1.

+0

Как вы можете видеть, цвет уже установлен в false в моем файле Docker. Так что это не сработает. –

+0

@AttilaSzeremi Да, отсюда мои другие предложения. – VonC

+0

Это не сработало, никаких изменений. См. Https://hub.docker.com/r/amcsi/skill-builder/builds/brhzu6kukthmhdntdrjrdxf/. Сравните его с тем, который был до ваших предложений: https://hub.docker.com/r/amcsi/skill-builder/ строит/bggwmmdjkhwpekfjnyq8gea / –

Смежные вопросы