如何在bitnami+;docker&x2B;nginx
我正在接管一个网站。不幸的是,我再也联系不到以前的开发人员了 这是一个AngularJS+Node+Express+MongoDB应用程序。他决定在服务器中使用bitnami+docker+nginx。这是docker compose.yml:如何在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
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的新手,我有以下问题:
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时启动,无需任何其他干预
- 或者您可以将
直接添加到docker-compose.yml中命令:mongod--auth
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之间共享资产(事实并非如此,但它很有用)