在 Cypress 中运行 Docker 容器的问题
Posted
技术标签:
【中文标题】在 Cypress 中运行 Docker 容器的问题【英文标题】:problems running Docker container in Cypress 【发布时间】:2021-07-14 15:09:50 【问题描述】:docker 容器“将构建”,但由于某种原因“不会运行”。我正在尝试解决这个问题,但我认为我需要重新审视它。
代码如下:
Docker 文件:
FROM cypress/included:6.8.0
WORKDIR /app
COPY . /app
RUN npm install
RUN $(npm bin)/ cypress verify
RUN $(npm bin)/cypress
docker 忽略文件
node_modules
docker-compose.yml 文件
version: '3'
services:
e2e:
image: cypress
build: .
container_name: cypress
command:
npx cypress run
我在终端中收到以下错误消息
docker-compose -f docker-compose.yml up
Building e2e
[+] Building 293.8s (9/10)
=> [internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 36B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 34B 0.0s
=> [internal] load metadata for docker.io/cypress/included:6.8.0 0.0s
=> [1/6] FROM docker.io/cypress/included:6.8.0 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 1.14kB 0.0s
=> CACHED [2/6] WORKDIR /app 0.0s
=> [3/6] COPY . /app 0.1s
=> [4/6] RUN npm install 292.0s
=> ERROR [5/6] RUN $(npm bin)/ cypress verify 1.4s
------
> [5/6] RUN $(npm bin)/ cypress verify:
#9 1.387 /bin/sh: 1: /app/node_modules/.bin/: Permission denied
------
executor failed running [/bin/sh -c $(npm bin)/ cypress verify]: exit code: 126
ERROR: Service 'e2e' failed to build
xxx-MacBook-Air CypressDocker %
@mosaad。我刚试过你的答案。但是我收到以下错误消息
=> ERROR [5/6] RUN $(npm bin)/ cypress verify 1.8s
------
> [5/6] RUN $(npm bin)/ cypress verify:
#9 1.705 /bin/sh: 1: /app/node_modules/.bin/: not found
------
executor failed running [/bin/sh -c $(npm bin)/ cypress verify]: exit code: 127
ERROR: Service 'e2e' failed to build
【问题讨论】:
【参考方案1】:您应该在 npm install
之后复制,以便也复制 node_modules。
这应该可行:
FROM cypress/included:6.8.0
WORKDIR /app
RUN npm install
COPY . /app
RUN $(npm bin)/ cypress verify
RUN $(npm bin)/cypress
【讨论】:
您好,我尝试更新代码并收到错误消息。这是我原来问题的最后一个条目。 @fypnlp 尝试删除node_module
并再次运行所有内容【参考方案2】:
非常感谢所有花点时间查看我的问题的人。我再次重写了 docker-compose.yml 文件代码,它现在可以完美运行了。如果这可以帮助将来的任何人,这里是更正的代码。
FROM cypress/included:6.8.0
WORKDIR /app
COPY . /app
RUN npm install
RUN $(npm bin)/cypress verify
RUN $(npm bin)/cypress
【讨论】:
以上是关于在 Cypress 中运行 Docker 容器的问题的主要内容,如果未能解决你的问题,请参考以下文章