Как исправить непредвиденную ошибку оператора Docker? - PullRequest
1 голос
/ 25 июня 2019

Я супер-новичок в сравнении с Docker, и недавно переместил проект из App Engine в Cloud Run. Было легко-peasy, любил это.

Теперь, однако, я пытаюсь обновить изображение (так как я добавил новый код). Я понимаю, что мне нужно попасть в реальный контейнер для обновления изображения (я думаю?), Но когда я пытаюсь docker run, я получаю ошибку unexpected operator.

Это сводит меня с ума.

Я не могу запустить контейнер. Я не могу редактировать свое изображение. Я не могу загрузить новую версию в Cloud Run.

Из того, что я могу понять, ошибка unexpected operator связана с Dockerfile. Итак, вот мой Dockerfile (предоставленный Google для развертывания изображения в Cloud Run).

Dockerfile

#Use the official Node.js 10 image
#https://hub.docker.com/_/node
FROM node:10

#Create and change to the app directory
WORKDIR /usr/src/app

#Copy application dependency manifests to the container image.
#A wild card is used to ensure both package.json AND package-lock.json are copied.
#Copying this separately prevents re0running npm install on every code change.
COPY *package.json ./

#Install production dependences
RUN npm install --only=production

#COPY local code to the container image
COPY . .

#Run the web service on container startup
CMD [ "npm", "start" ]

Я получаю конкретную unexpected operator ошибку /bin/sh: 1: [: npm.: unexpected operator

Честно говоря, я не знаю, что делать в этот момент. Я думаю, мне нужен второй набор глаз, чтобы просто осмотреть его.

1 Ответ

2 голосов
/ 25 июня 2019

Вам нужно перестраивать образ из Dockerfile после каждого изменения

docker build --tag="npm_app:latest" -f Dockerfile .
docker run npm_app 
...