точка входа в контейнер докеров - PullRequest
1 голос
/ 25 сентября 2019

У меня есть вопрос, когда я запускаю команду docker. Контейнер Docker запущен, но он отображается в столбце «Команда» под изображением.
Я думаю, что он должен отображаться в столбце команды, как этот 'node /app/server.js'

.
docker container run -e TZ=Asia/Karachi -d -p 9135:9135 myapi:2.4

enter image description here

FROM node:10.16.0

WORKDIR /app

COPY package.json /app

ENV NODE_ENV=production

RUN npm install

COPY . /app

VOLUME ["/app/logs"]

CMD ["node", "/app/server.js"]

EXPOSE 9135

Ответы [ 2 ]

0 голосов
/ 25 сентября 2019

Ваши ожидания верны, но причина в том, что официальное изображение имеет точку входа , а CMD, который вы пересекаете в вашем Dockerfile, является просто аргументом для точки входа, то есть CMD ["node", "/app/server.js"]

, если вы измените свой Dockerfile на

FROM node:alpine
WORKDIR /app
COPY . /app
entrypoint ["node", "/app/app.js"]

и затем запустите docker ps

CMD будет "node /app/app.js"

Пример

enter image description here

0 голосов
/ 25 сентября 2019

Основной процесс контейнера - entrypoint + command.

Итак, вы получаете первую часть процесса (т. Е. Точку входа).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...