如何将Docker Compose推送到Docker Hub

问题描述

我的docker-compose文件中有服务器服务,看起来像这样:

version: '3.7'

services:
  web:
    build: ./
    command: gunicorn --bind 0.0.0.0:5000 --workers 2 --worker-connections 5000 --timeout 6000 manage:app
    volumes:
      - ./:/usr/src/app/
      - static_volume:/usr/src/app/static_files
    expose:
      - 5000
    env_file:
      - ./.env.prod
    depends_on:
      - mongodb

  mongodb:
    image: mongo:4.4.1
    restart: unless-stopped
    command: mongod
    ports:
      - '27017:27017'
    environment:
      MONGODB_data_dir: /data/db
      MONDODB_LOG_DIR: /dev/null
      MONGO_INITDB_ROOT_USERNAME: 
      MONGO_INITDB_ROOT_PASSWORD: 
    volumes:
      - mongodbdata:/data/db

  Nginx:
    build: ./Nginx
    volumes:
      - static_volume:/usr/src/app/static_files
    ports:
      - 5001:8000
    depends_on:
      - web


volumes:
  mongodbdata: 
  static_volume: 

并且我在docker hub帐户上有公共存储库,我想将应用程序中的所有图像推送到该存储库,有人可以提供帮助吗?

解决方法

您应将映像名称添加到服务中,包括您的docker hub ID,例如:

services:
  web:
    build: ./
    image: docker-hub-id/web:latest
    ...

现在,您只需拨打docker-compose push

请参见docker-compose push