Docker在哪里运行文件?

时间:2018-12-03 14:11:10

标签: docker dockerfile

我有一个带有dockerfile的项目,我安装了docker,并且(搜索后发现我需要一个'。',因为我在没有它的情况下运行了它)我运行

{
  "$match": {
    "$and": [
      {
        "$or": [
          {
            "Multi_User": {
              "$exists": False
            }
          },
          {
            "$expr": {
              "$not": { "$in": ["$CreatedBy", "$Multi_User"] }
            }
          }
        ]
      }
    ]
  }
}

它似乎可以建立,但是当我这样做时 docker image ls,我得到:

docker build -t sometag .

我以为我的图片应该在那里,所以我可以运行它,但是我看不到它,如果我键入

$ docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
<none>              <none>              5933185d4f8d        About an hour ago   68.1MB
hello-world         latest              4ab4c602aa5e        2 months ago        1.84kB
node                8.10-alpine         adc4b0f5bc53        8 months ago        68.1MB

它找不到它。 而且我还尝试通过其ID运行第一个,因为那是我开始构建图像时开始的,但可能没有使用标签,所以也许它是第一个并确实使用了

docker run sometag

但这只是让我回到控制台

我现在确实知道它永远不会超过步骤5/8,它像一个完整的帮助部分一样打印,并结束提示

docker run 5933185d4f8d  

这是我的dockerfile:

This apk has coffee making abilities.
The command '/bin/sh -c apk install git   && npm i   && apk del .gyp  && mv /var/app/node_modules /node_modules   && rm -rf /var/cache/apk/*   && apk del git' returned a non-zero code: 1

这是我删除git行时得到的:

FROM node:8.10-alpine

ENV NODE_ENV development

# Create app directory
WORKDIR /var/app

# Install Node packages
COPY package.json package.json

RUN apk install git \
  && npm i \
  && apk del .gyp\
  && mv /var/app/node_modules /node_modules \
  && rm -rf /var/cache/apk/* \
  && apk del git

# Bundle app source
COPY . .
#COPY entrypoint.sh entrypoint.sh

# Expose port
EXPOSE 88

#ENTRYPOINT ["./entrypoint.sh"]
CMD ["npm", "run", "dev"]

1 个答案:

答案 0 :(得分:1)

评论摘要:

RUN apk install git肯定会失败,因为install工具中没有apk小程序。

在构建容器中执行系统更新后,可以使用install小程序代替add小程序来安装git

Apk related info

因此Dockerfile中的git安装部分应如下所示:

    ...
    RUN apk update 
    && apk upgrade \ 
    && apk add --no-cache git \
    ...