【发布时间】:2019-06-22 22:02:48
【问题描述】:
我是 docker-compose 的新手,我使用 flask 和 redis 构建了一个简单的 web 应用程序,它在我的 localhost 中运行良好,我的问题是如何将这个 web 应用程序(包括 python 和 redis 图像)推送到 docker hub 并拉取该图像来自另一台机器。
我通常做 docker-compose build, 码头工人推
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 映像。
如何运行所有图像
【问题讨论】:
-
你需要你的私有仓库,需要登录到那个仓库,推送你的镜像,然后在其他机器上再次登录并拉取镜像。这可以通过公共中心来完成,但如果您不打算与社区共享您的应用程序,那么私人回购可能是最好的选择。顺便说一句,GitLab 有内置的私有仓库(虽然设置起来可能有点麻烦)。
-
另外,为了清楚起见:docker-compose 与一堆图像/服务一起工作,而 docker registry 一个接一个地处理图像——它不存储在你的 docker 中定义的任何依赖项-撰写.yml。这在您的问题或我的回答中没有太大变化,只是认为如果我澄清一下会更好。
-
另一个“也”,你是说库存图片“redis”没有被拉走?不是您的自定义图片?
标签: docker docker-compose