Война внутри Докера застряла на НПМ
Использование Docker для создания файла войны для прикрепления к Apache Tomcat.
Пытаясь использовать NPM/MVN, чтобы начать войну Tomcat.
Я нахожусь за корпоративным прокси, и у скриптов make нет "bower install --allow-root" (реализовано при поиске).
Как мы все знаем, Docker запускает все как root, поэтому я получаю ошибки ниже.
[echo] --- BOWER INSTALL ---
[exec]
[exec] /usr/local/lib/node_modules/bower/lib/node_modules/bower-config/lib/util/rc.js:71
[exec] throw error;
[exec] ^
[exec] Error: Unable to parse /root/.bowerrc: Unexpected token }
[exec] at parse (/usr/local/lib/node_modules/bower/lib/node_modules/bower-config/lib/util/rc.js:64:21)
[exec] at json (/usr/local/lib/node_modules/bower/lib/node_modules/bower-config/lib/util/rc.js:86:16)
[exec] at rc (/usr/local/lib/node_modules/bower/lib/node_modules/bower-config/lib/util/rc.js:32:26)
[exec] at Config.load (/usr/local/lib/node_modules/bower/lib/node_modules/bower-config/lib/Config.js:16:20)
[exec] at readCachedConfig (/usr/local/lib/node_modules/bower/lib/config.js:15:39)
[exec] at defaultConfig (/usr/local/lib/node_modules/bower/lib/config.js:11:12)
[exec] at Object.<anonymous> (/usr/local/lib/node_modules/bower/lib/index.js:16:32)
[exec] at Module._compile (module.js:456:26)
[exec] at Object.Module._extensions..js (module.js:474:10)
[exec] at Module.load (module.js:356:32)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3:30.433s
[INFO] Finished at: Thu Feb 04 16:15:59 UTC 2016
[INFO] Final Memory: 13M/1928M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.5:run (exec-gen-sources) on project gui-uxd-container: An Ant BuildException has occured: exec returned: 8 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
The command '/bin/sh -c cd /var/opt/gui/gui-uxd-container && sudo mvn clean install' returned a non-zero code: 1
root@docker:~/war-Docker/gui#
Так как я не могу прикоснуться к исходному коду, я пробежался через "COPY .bowerrc /root/.bowerrc" в Dockerfile, прежде чем вызывать команду.
Синтаксис моего.bowerrc кажется нормальным, и если да, то это основная жалоба, которую выдает мое сообщение об ошибке? Я не хочу менять папку проекта по умолчанию
{
"proxy":"http://proxy.wsa.com:8000",
"https-proxy":"http://proxy.wsa.com:8000",
"strict-ssl": false,
"allow_root": true
}
Помощь приветствуется.
1 ответ
Решение
"Терпение это добродетель"
Зависимости не были полностью готовы. Прокси.. и прокси
RUN locale-gen en_US.UTF-8
RUN dpkg-reconfigure locales
ENV JAVA_HOME /usr/lib/jvm/java-1.7.0-openjdk-amd64
ENV PATH /root/.linuxbrew/bin:$PATH
ENV MANPATH /root/.linuxbrew/share/man:$MANPATH
ENV INFOPATH /root/.linuxbrew/share/info:$INFOPATH
COPY settings.xml ~/.m2/settings.xml
COPY .bowerrc /root/tomcat-war/.bowerrc
root@~/tomcat-war# cat .bowerrc
{
"directory":"app/bower_components",
"proxy":"http://proxy.wsa.com:8000",
"https-proxy":"http://proxy.wsa.com:8000",
"strict-ssl": false,
"allow_root": true
}
root@~/tomcat-war#
root@~/tomcat-war# cat settings.xml | grep proxy
| Unless otherwise specified (by system property or command-line switch), the first proxy
<!-- proxy
| Specification for one proxy, to be used in connecting to the network.
<proxy>
<host>http://proxy.wsa.com:8000</host>
</proxy>
| Unless otherwise specified (by system property or command-line switch), the first proxy
<!-- proxy
| Specification for one proxy, to be used in connecting to the network.
<proxy>
<username>proxyuser</username>
<password>proxypass</password>
<host>proxy.host.net</host>
</proxy>
root@~/tomcat-war#