Имеем Node.js приложение, работающее с MongoDB. Nginx подключу позже. Пытаюсь въехать в докер.
Имеем такой
docker-compose.ymlversion: '2'
services:
api:
build:
context: .
dockerfile: Dockerfile
volumes:
- ".:/app"
ports:
- "3000:3000"
network_mode: host
depends_on:
- mongo
mongo:
command: mongod
image: mongo:3.2.0
ports:
- "27017:27017"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
logging:
driver: none
и содержимое
DockerfileFROM node:8.9.1
EXPOSE 3000
COPY . /app/
RUN cd /app && \
rm -rf ./node_modules && \
npm install --from-lock-file --force --no-save && \
npm install pm2 --global && \
npm run docs && \
chmod +x *.sh && \
./keys.sh
WORKDIR /app
CMD npm run dev
Запускаю командой:
docker-compose --file docker-compose.yml up --build
В итоге, когда у меня отрабатывает pm2 (npm run dev запускает), то в докере запущена только MongoDB.
Выполняю
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dadb6415c8f4 mongo:3.2.0 "/entrypoint.sh mo..." About an hour ago Up 6 seconds 0.0.0.0:27017->27017/tcp backend_mongo_1
Выполняю
$ netstat -ntlp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 6395/python
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:5939 0.0.0.0:* LISTEN -
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp6 0 0 :::27017 :::* LISTEN -
Что я не так делаю?