【发布时间】:2020-09-23 04:15:16
【问题描述】:
我的 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-compose构建镜像时,它会有名称。只是docker tag和docker push这些图像就像任何其他图像一样。 -
我的mongodb和nginx怎么样,也会被推送吗? @larsks
-
@Mamen 不,只是你当前推送的那个
-
@Mamen 是的,如果要构建和运行,只需运行 Docker Compose。图片会自动拉取。
-
请注意,您不能推送卷内容、本地文件或
docker-compose.yml文件本身;您需要删除一些volumes:才能使其在另一个系统上运行,并且它不会包含您当前系统的 MongoDB 数据或您挂载到容器中的静态文件的替代版本。
标签: docker docker-compose dockerfile docker-registry