Как мне запустить сайт в bitnami + docker + nginx - PullRequest
0 голосов
/ 21 февраля 2020

Я беру на себя сайт https://www.funfun.io. К сожалению, я больше не могу связаться с предыдущим разработчиком.

Это приложение AngularJS + Node + Express + MongoDB. Он решил использовать bitnami + docker + nginx на сервере. Вот docker-compose.yml:

version: "3"
services:
  funfun-node:
    image: funfun
    restart: always
    build: .
    environment:
    - MONGODB_URI=mongodb://mongodb:27017/news
    env_file:
    - ./.env
    depends_on:
    - mongodb
  funfun-nginx:
    image: funfun-nginx
    restart: always
    build:
      context: .
      dockerfile: Dockerfile.nginx
    ports:
    - "3000:8443"
    depends_on:
    - funfun-node
  mongodb:
    image: mongo:3.4
    restart: always
    volumes:
    - "10studio-mongo:/data/db"
    ports:
    - "27018:27017"
networks:
  default:
    external:
      name: 10studio
volumes:
  10studio-mongo:
    driver: local

Dockerfile.nginx:

FROM bitnami/nginx:1.16
COPY ./funfun.io /opt/bitnami/nginx/conf/server_blocks/default.conf
COPY ./ssl/MyCompanyLocalhost.cer /opt/MyCompanyLocalhost.cer
COPY ./ssl/MyCompanyLocalhost.pvk /opt/MyCompanyLocalhost.pvk

Dockerfile:

FROM node:12
RUN npm install -g yarn nrm --registry=https://registry.npm.taobao.org && nrm use cnpm
COPY ./package.json /opt/funfun/package.json
WORKDIR /opt/funfun
RUN yarn
COPY ./ /opt/funfun/
CMD yarn start

На моей локальной машине я мог бы использовать npm start для тестирования веб-сайта в веб-браузере.

У меня есть доступ к серверу Ubuntu. Но я новичок в bitnami + docker + nginx, у меня есть следующие вопросы:

  1. В командной строке сервера Ubuntu, как я могу проверить, работает ли служба (кроме запуск веб-сайта в браузере)?

  2. Как отключить и перезапустить службу?

  3. Ранее, без docker, мы могли запустить mongodb на sudo systemctl enable mongod. Теперь, с docker, как мы можем запустить mongodb?

Ответы [ 2 ]

1 голос
/ 21 февраля 2020

Прежде всего, для локального развертывания сервисов, упомянутых в файле compose, вы должны выполнить следующую команду

docker-compose up
docker-compose up -d # in the background 

После выполнения вышеупомянутой команды docker контейнеры будут созданы и доступны на вашем компьютере. ,

Чтобы вывести список запущенных контейнеров

docker ps
docker-compose ps

Чтобы остановить контейнеры

docker stop ${container name}
docker-compose stop

mongodb является частью docker -композитного файла, и он будет запущен, как только вы начать другие услуги. Он также будет автоматически перезапущен в случае сбоя или перезагрузки компьютера.

Последнее замечание: поскольку вы используете внешние сети, вам может потребоваться создать сеть перед запуском служб.

0 голосов
/ 21 февраля 2020

1.

  • docker-compose ps даст вам состояние ваших контейнеров

2.

  • docker-compose stop остановит ваши контейнеры, сохраняя их состояние, затем вы можете запустить их по мере использования docker-compose up

  • docker-compose kill удалит ваши контейнеры

  • docker-compose restart перезапустит ваши контейнеры

3.

  • Объявив ваш mongodb, используя официальный mon go image ваш старт контейнера когда вы делаете docker-compose up без какого-либо вмешательства.

  • Или вы можете добавить command: mongod --auth непосредственно в ваш docker -compose.yml

официальная документация docker очень подробная и очень помогает во всем этом, продолжайте смотреть на нее https://docs.docker.com/compose/

...