2016-10-26 7 views
2

Я построил приложение изображение метеора в dockerfile с«Вы запустили Метеор как корень» при создании метеоритного приложения в докер

RUN ["meteor", "build", "--directory", "/meteor_app"] 

и встретил следующую ошибку:

Step 11 : RUN meteor build --directory /meteor_app 
---> Running in 2be64a8e21df 
You are attempting to run Meteor as the "root" user. If you are developing, 
this is almost certainly *not* what you want to do and will likely result in 
incorrect file permissions. However, if you are running this in a build process 
(CI, etc.) or you are absolutely sure you know what you are doing, add the 
`--unsafe-perm` flag to this command to proceed. 
The command 'meteor build --directory /meteor_app' returned a non-zero code: 1 
{"exitCode":8, "message":"docker build failed or timeout "} 

После --unsafe--perm флаг добавлен:

RUN ["meteor", "--unsafe-perm", "build", "--directory", "/meteor_app"] 

ошибка все еще существует:

Step 11 : RUN meteor --unsafe-perm build --directory /meteor_app 
---> Running in c0e79de335c7 
You have run Meteor as root. Your permissions in your app directory will be 
incorrect if you ever attempt to perform any Meteor tasks as your non-root 
user. You probably didn't want this, but you can fix it by running the 
following from the root of your project: 
sudo chown -Rh <username> .meteor/local 
'/meteor_app' is not a Meteor command. See 'meteor --help'. 
The command 'meteor --unsafe-perm build --directory /meteor_app' returned a non-zero code: 1 
{"exitCode":8, "message":"docker build failed or timeout "} 

Как это исправить?

Эта ошибка возникает после Meteor 1.4.2, но я не нашел для нее никаких документов.

Спасибо!

ответ

0

Вы можете исправить эту проблему, создав пользователя в своем контейнере, переключившись на него с помощью команды USER и работающего метеора оттуда. Это также лучше, чем просто запустить все как root.

+2

могли бы вы предоставить пошаговые инструкции о том, как это сделать? Я использую meteorhacks/meteord: onbuild –

2

Видимо это автоматическое обновление метеора, который запретит корневую сборку по соображениям безопасности ...

решен, выполнив следующие команды из meteor's приложения корневого каталога как корневой пользователь:

export METEOR_NO_RELEASE_CHECK=true 
curl https://install.meteor.com/?release=1.4.1.3 | sh 

ПРИМЕЧАНИЯ: Вы может указать отпуск метеор по вашему выбору.

More info about this issue