Мой Dockerfile -
FROM keymetrics/pm2:latest-alpine
RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app
WORKDIR /home/node/app
RUN npm install prpl-server
COPY build build/
COPY package.json .
COPY polymer.json .
COPY --chown=node:node . .
USER node
EXPOSE 8080
RUN ls -al -R
CMD [ "pm2-runtime", "start", "ecosystem.config.js", "--web"]
, а мой ecosystem.comfig.js -
module.exports = {
apps: [{
name: 'ozark',
script: 'npm',
args: 'start',
instances: 1,
autorestart: true,
watch: false,
max_memory_restart: '1G',
env: {
NODE_ENV: "development",
},
env_production: {
NODE_ENV: "production",
}
}],
};
, а скрипт запуска в package.json -
"start": "cd build && prpl-server --root . --config polymer.json --port 8080 && cd ../",
чтобы построить контейнер, я делаю
polymer build && docker build -t ozark .
, чтобы запустить контейнер, я делаю
docker run --name ozark -p 80:8080 -d ozark
, но когда я просматриваю http://locallhost, ничего не загружается, и я не понимаю, почему.Я просмотрел логи изнутри контейнера, и сервер prpl работает на порту 8080
Docker PS дает мне ...
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e7f633881e17 ozark "pm2-runtime start e…" 11 minutes ago Up 11 minutes 80/tcp, 443/tcp, 43554/tcp, 0.0.0.0:80->8080/tcp ozark