Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在bitnami+;docker&x2B;nginx_Docker_Nginx_Docker Compose_Bitnami - Fatal编程技术网

如何在bitnami+;docker&x2B;nginx

如何在bitnami+;docker&x2B;nginx,docker,nginx,docker-compose,bitnami,Docker,Nginx,Docker Compose,Bitnami,我正在接管一个网站。不幸的是,我再也联系不到以前的开发人员了 这是一个AngularJS+Node+Express+MongoDB应用程序。他决定在服务器中使用bitnami+docker+nginx。这是docker compose.yml: version: "3" services: funfun-node: image: funfun restart: always build: . environment: - MONGODB_URI=mon

我正在接管一个网站。不幸的是,我再也联系不到以前的开发人员了

这是一个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
在web浏览器中测试网站

我可以访问Ubuntu服务器。但我是bitnami+docker+nginx的新手,我有以下问题:

  • 在Ubuntu服务器的命令行中,我如何检查服务是否正在运行(除了在浏览器中启动网站)

  • 如何关闭并重新启动服务

  • 以前,如果没有docker,我们可以通过
    sudo systemctl enable mongod
    启动mongodb。现在,有了docker,我们如何启动mongodb
  • 一,

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

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

    • docker compose kill
      将删除您的容器

    • docker compose restart
      将重新启动您的容器

    三,

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

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


    docker的官方文档非常详细,对所有这些都有很大帮助,请继续查看它

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

    docker-compose up
    docker-compose up -d # in the background 
    
    运行上述命令后,将创建docker容器并在您的计算机上可用

    列出正在运行的容器

    docker ps
    docker-compose ps
    
    docker stop ${container name}
    docker-compose stop
    
    停止集装箱运输

    docker ps
    docker-compose ps
    
    docker stop ${container name}
    docker-compose stop
    
    mongodb是docker compose文件的一部分,一旦启动其他服务,它就会运行。它也将自动重新启动,以防崩溃或您重新启动您的机器


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

    谢谢。。。此外,如果是React应用程序,我们应该在服务器上构建静态文件,还是在本地计算机上构建静态文件并通过
    scp
    将它们复制到服务器上?始终以服务器方式进行操作,以便确保它在服务器上工作(而不仅仅是在计算机上)。在您的服务器上构建确保所有需求都存在我们使用GitHub存储我们的代码,另外他还有
    Dockerfile
    。在您看来,如果我在本地修改一些代码,更新服务器端的过程应该是什么?这取决于您使用的CI,请遵循CI的含义“CI”是什么意思?谢谢。。。此外,如果是React应用程序,我们应该在服务器上构建静态文件,还是在本地计算机上构建静态文件并通过
    scp
    将其复制到服务器上?解决此问题的最简单方法是在构建docker映像期间构建静态文件。您需要更新节点应用程序的docker映像以构建资源。这里有一篇文章解释了如何在后端应用程序和Nginx之间共享资产(事实并非如此,但它很有用)