用于运行meteor应用程序的dockerfile-使用节点:7.5.0-alpine

用于运行meteor应用程序的dockerfile-使用节点:7.5.0-alpine,meteor,docker,Meteor,Docker,我正试图在docker上运行meteor应用程序 这是我的Dockerfile: From node:7.5.0-alpine RUN meteor npm install --a CMD ["meteor"] 运行: ➜ docker build . -t myapp Sending build context to Docker daemon 21.91 MB Step 1 : FROM node:7.5.0-alpine ---> 0895ecd79009 Step 2 : RU

我正试图在docker上运行meteor应用程序

这是我的Dockerfile:

From node:7.5.0-alpine
RUN meteor npm install --a
CMD ["meteor"]
运行:

➜ docker build . -t myapp
Sending build context to Docker daemon 21.91 MB
Step 1 : FROM node:7.5.0-alpine
 ---> 0895ecd79009
Step 2 : RUN meteor npm install --a
 ---> Running in 1de3ba593bb1
/bin/sh: meteor: not found
The command '/bin/sh -c meteor npm install --a' returned a non-zero code: 127
这是收到的错误:

/bin/sh:流星:未找到

命令'/bin/sh-c meteor npm install--a'返回了一个非零值

我做错了什么


基本上,我正在尝试使用一个轻量级流星基础图像创建我的图像(
node:7.5.0-alpine


我的dockerfile中应该修复什么?

您必须先安装meteor,节点不够。
尝试添加如下内容:
runcurl”https://install.meteor.com/“|/bin/sh

在第二行。

我结束了使用图像

Dockerfile

FROM martinezko/alpine-meteor
ENV NODE_ENV=production
运行
docker build.sh
来构建它:

#!/bin/sh

set -e

# get the image tag
echo -n "Enter release tag [e.g. 1.0.7] "
read TAG
echo "You release has an amazing tag: $TAG"

REGISTRY=us.gcr.io
CONTAINER=my-com/my-app
BUILD_DIR=`pwd`/.build                      # <-- This is where meteor build your files.
                                            #     Folder will be created and after build will be deleted


echo "Start building container ${CONTAINER} ..."

# clean old build if exist
rm   -rf $BUILD_DIR
mkdir -p $BUILD_DIR

# install node packages
meteor npm install --a &&

# build meteor app
meteor build --directory $BUILD_DIR --architecture=os.linux.x86_64 --server-only &&

# pull fresh base image:
docker pull martinezko/alpine-meteor:latest &&

# build container
docker build --rm -t ${REGISTRY}/${CONTAINER}:${TAG} . &&


echo "${REGISTRY}/${CONTAINER}:${TAG}"
# push to our registry
echo "we are now pushing your amazing relese to google container engine registry $REGISTRY/$CONTAINER:$TAG"
docker push ${REGISTRY}/${CONTAINER}:${TAG}


# clean images if needed
# docker rmi -f ${CONTAINER}:${TAG} ${REGISTRY}/${CONTAINER}:${TAG} martinezko/alpine-meteor:latest

# to run your container
# docker run -d ${REGISTRY}/${CONTAINER}:${TAG}
# OR use docker-compose.yaml file
# docker-compose up -d

# clean build folder
rm -rf .build

echo "End build of container ${CONTAINER} ..."
#/垃圾箱/垃圾箱
set-e
#获取图像标签
echo-n“输入释放标签[例如1.0.7]”
读标签
echo“您发布的版本有一个惊人的标签:$tag”
注册表=us.gcr.io
容器=我的com/我的应用程序

BUILD_DIR=`pwd`/.BUILD#
节点:7.5.0-alpine
不是Meteor基础映像-您必须安装Meteorfirst@chazsolo你推荐什么流星图像?我宁愿使用一张轻量级的图片,你可以试试。为什么不在dockerfile中使用:
来自ulexus/meteor
?这不是更好吗?如果那张图片对你有好处,为什么不使用它呢……无论如何,你必须在图片上有流星才能运行流星:)