And*_*iga 51 docker docker-compose
我有一个遗留项目正在运行docker-compose
。一年前,它是从以下配置开始的。
现在它抛出一个错误:
exec /usr/local/bin/docker-entrypoint.sh: exec format error
Run Code Online (Sandbox Code Playgroud)
我想使用 CMD 配置运行容器。我在网上发现#!/bin/bash
需要添加以避免这个错误,我将其添加到Dockerfile中。
没有自定义docker-entrypoint.sh
定义。据我了解,需要有一个入口点或一个命令。
CMD 的主要目的是为执行容器提供默认值。这些默认值可以包含可执行文件,也可以省略可执行文件,在这种情况下,您还必须指定 ENTRYPOINT 指令。
#!/bin/bash
#nodejs
FROM node:11.15
ENV NODE_VERSION 11.15
#app directory
WORKDIR ./
#mongodb tools
RUN wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | apt-key add -
RUN echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/5.0 main" | tee /etc/apt/sources.list.d/mongodb-org-5.0.list
RUN apt-get update
RUN apt-get install -y mongodb
RUN apt-get install nano
#nodejs packages
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./
RUN npm install --ignore-scripts sharp
RUN npm install --only=production
COPY . .
RUN mkdir -p /logs/
# wait for mongoDB launch
ADD https://github.com/ufoscout/docker-compose-wait/releases/download/2.5.1/wait /wait
RUN chmod +x /wait
#port of the app
EXPOSE 8080
CMD /wait && npm run dockerServer
Run Code Online (Sandbox Code Playgroud)
version: "3"
services:
watchtower:
container_name: watchtower
image: v2tec/watchtower
env_file:
- watchtower.env
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /root/.docker/config.json:/config.json
command: --interval 30
restart: always
mongo:
container_name: mongo
ports:
- '27017:27017'
volumes:
- '/temp/im/docker/mongo/data:/data/db'
- '/temp/im/docker/backup:/data/backup'
image: mongo
restart: always
core:
container_name: core
ports:
- '8080:8080'
env_file:
- core.env
depends_on:
- "mongo"
volumes:
- '/temp/im/docker/logs:/data/logs'
- '/temp/im/docker/backup:/data/backup'
image: index.docker.io/regname/core:beta
logging:
driver: "json-file"
options:
max-file: '5'
max-size: '10m'
restart: always
Run Code Online (Sandbox Code Playgroud)
编辑:我更改了标题以使其更容易被发现。
plp*_*max 130
尝试改变FROM
:
FROM --platform=linux/amd64 node:11.15
Run Code Online (Sandbox Code Playgroud)
有一个很好的解释。
归档时间: |
|
查看次数: |
59045 次 |
最近记录: |