在单个容器中加入docker图像
我有一个由前端、后端和mongodb数据库组成的应用程序,每个数据库都停靠在一个容器中。当我使用docker compose构建它们时,我的应用程序中的图像数量与部件数量相同(3) 有没有办法从这3个图像构建一个容器,从而生成一个图像在单个容器中加入docker图像,docker,docker-compose,dockerfile,docker-swarm,docker-multi-stage-build,Docker,Docker Compose,Dockerfile,Docker Swarm,Docker Multi Stage Build,我有一个由前端、后端和mongodb数据库组成的应用程序,每个数据库都停靠在一个容器中。当我使用docker compose构建它们时,我的应用程序中的图像数量与部件数量相同(3) 有没有办法从这3个图像构建一个容器,从而生成一个图像 谢谢如果你真的愿意,我想你可以这样做。首选的方法是使用docker compose。我建议您创建一个docker-compose.yml文件,以帮助您设置: nginx->前端(可能带有服务器端渲染)->后端->mongodb docker compose背后
谢谢如果你真的愿意,我想你可以这样做。首选的方法是使用docker compose。我建议您创建一个docker-compose.yml文件,以帮助您设置:
nginx->前端(可能带有服务器端渲染)->后端->mongodb
docker compose背后的思想是使用docker-compose.yml文件轻松启动并运行多容器应用程序,然后您可以使用以下文件启动应用程序:
$docker整理
您可以使用如下方式进行设置:
(这是一个假设的docker-compose.yml文件,但如果您的值正确,它应该可以工作。如果您有任何问题,请告诉我:
version: '2'
services:
frontend-container:
image: frontend:latest
links:
- backend-container
environment:
- DEBUG=True
restart: always
environment:
- BASE_HOST=http://backend-container:8000/
backend-container:
image: nodejs-backend:latest
links:
- mongodb
environment:
- NODE_ENV=production
- BASE_HOST=http://django-container:8000/
restart: always
mongodb:
image: mongo:latest
container_name: "mongodb"
environment:
- MONGO_DATA_DIR=/data/db
- MONGO_LOG_DIR=/dev/null
volumes:
- ./data/db:/data/db
command: mongod --smallfiles --logpath=/dev/null
nginx-container:
image: nginx-container-custom-config:latest
links:
- frontend-container
ports:
- "80:80"
如果您希望将应用程序作为单个容器运行,则可以编写Dockerfile。它也将为您提供单个映像。可能的副本。旁注:可以,但不要这样做。这不是Docker方式。如果我理解正确,您希望创建单个映像,这样您就不需要单独构建它们并部署三个M每次都是Ss。对吗?是的,没错。我希望你真的应该创建一个kubernetes吊舱或docker compose,每个应用都是一个应用。然后,你可以在一个命令中部署所有三个。我想他已经有了一个compose文件。但他希望他的所有应用都在一个容器中。奇怪,谢谢你的回答。我已经有了一个docker compose函数,但是当我做docker compose时,我在3个容器中有3个图像,我只需要一个容器和一个图像,这是正确的。但是这样做通常不是一个好主意。最好有一堆容器,其中每个容器都做一件事,并且做得很好。几乎就像unix命令背后的unix原理一样是的,当然。但如果没有Dockerfile和docker compose,问题将如何解决?