gpt4 book ai didi

docker - 如何在 docker-compose 中创建基础镜像

转载 作者:行者123 更新时间:2023-12-03 15:45:41 32 4
gpt4 key购买 nike

我有一些共享通用代码但不完全相同的图像。
有没有办法在 docker-compose 中创建一个基础镜像,这样它就不会在执行 docker-compose up 时自行运行我可以在我的 Dockerfiles 中扩展它吗?

这是我想要实现的示例:

version: '3'
services:
php:
build:
context: .
dockerfile: ./php/Dockerfile

php-fpm:
build:
context: .
dockerfile: ./php-fpm/Dockerfile

php-cron:
build:
context: .
dockerfile: ./php-cron/Dockerfile

php-worker:
build:
context: .
dockerfile: ./php-worker/Dockerfile

基础 dockerfile
FROM php:7.2-fpm-alpine

RUN docker-php-ext-install bcmath
... and other extensions

和其他 dockerfiles(有小的变化):

php-fpm
FROM my-docker-compose:php

RUN docker-php-ext-install php-fpm

CMD php-fpm

php-cron
FROM my-docker-compose:php

COPY php/crontab /tmp/crontab
RUN /usr/bin/crontab -u www-data /tmp/crontab

CMD crond

最佳答案

您通常可以通过将基本镜像存储在 Docker 注册表中来完成此操作。您可以将它们存储在公共(public)注册表 (https://hub.docker.com) 或一些私有(private)注册表中(托管在我们内部的云中)。

以下是有关 Docker 注册表的更多信息:
https://docs.docker.com/registry/

有关使用基本镜像的一些附加信息:
https://docs.docker.com/develop/develop-images/baseimages/

关于docker - 如何在 docker-compose 中创建基础镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52739432/

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