如何在bitnami+docker+nginx中运行建网站

How do I run a website in bitnami+docker+nginx

我正在接管一个网站 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,我们可以从 sudo systemctl enable mongod 开始 mongodb。现在,有了 docker,我们如何开始 mongodb?

1.

  • docker-compose ps 将为您提供容器的状态

2.

  • docker-compose stop 将停止你的容器,保持它们的状态然后你可以启动它们,因为它们正在使用 docker-compose up

  • docker-compose kill 将删除您的容器

  • docker-compose restart 将重启您的容器

3.

  • 通过使用官方 mongo 图像声明您的 mongodb,您的容器会在您执行 docker-compose up 时启动,无需任何其他干预。

  • 或者您可以将 command: mongod --auth 直接添加到您的 docker-compose.yml

docker的官方文档很详细,对这一切帮助很大,继续看https://docs.docker.com/compose/

首先,要在本地部署组合文件中提到的服务,您应该运行下面的命令

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

在 运行 执行上述命令后 docker 容器将在您的计算机上创建并可用。

列出 运行ning 容器

docker ps
docker-compose ps

停止容器

docker stop ${container name}
docker-compose stop

mongodb 是 docker-compose 文件的一部分,一旦您启动其他服务,它将 运行ning。如果它崩溃或您重新启动计算机,它也会自动重新启动。

最后一点,由于您使用的是外部网络,因此您可能需要在启动服务之前创建网络。