gpt4 book ai didi

docker-compose 在 docker-compose.yml 中构建多个服务

转载 作者:行者123 更新时间:2023-12-02 21:07:58 25 4
gpt4 key购买 nike

我是 docker-compose 的新手,我使用 flask 和 redis 构建了一个简单的 Web 应用程序,它在我的本地主机中运行良好,我的问题是如何将这个 Web 应用程序(包括 python 和 redis 图像)推送到 docker hub 并从不同的机器。

我通常做 docker-compose build,
docker 推

version: '3'
services:
web:
build: .
image: "alhaffar/flask_redis_app:2.0"
ports:
- "8088:5000"
depends_on:
- redis
redis:
image: "redis:alpine"

Dockerfile
FROM python:3.7

# CHANGE WORKIN DIR AND COPY FILES
WORKDIR /code
COPY . /code

# INSTALL REQUIRED PACAKGES
RUN pip install --upgrade pip
RUN pip install -r requirements.txt

# RUN THE APP
CMD ["python", "./main.py"]

当我尝试将图像拉入另一台机器并发出 docker run 时,它只运行没有 redis 图像的 python 图像。

我如何运行所有图像

最佳答案

Dockerhub 和其他 docker 注册表使用图像。 Docker-compose 只是一种抽象,它通过使用一个配置文件 - docker-compose 来帮助设置一组可以一起工作的图像。没有像 docker-compose 注册表这样的东西。然后,如果您在另一台机器上有您的 docker-compose 文件,您只需使用 docker-compose up并且应该提取图像 - 假设它们已发布到某个注册表(公共(public)/私有(private))。如果您使用的是 redis 官方镜像,您的应用程序的镜像应该由您发布,并且 refi 将从 dockerhub 注册表中获取。

当您进行一些本地开发并希望快速设置您的工作环境时,Docker-compose 很有帮助。如果你想在其他机器上设置这个环境,你必须与他们共享 docker-compose 文件,并在另一台机器上安装 docker 和 docker-compose。

如果您的 docker-compose 配置为在启动时构建一些图像,您仍然可以使用 docker-compose push 推送此图像命令。

关于docker-compose 在 docker-compose.yml 中构建多个服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56719490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com