作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些共享通用代码但不完全相同的图像。
有没有办法在 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
FROM php:7.2-fpm-alpine
RUN docker-php-ext-install bcmath
... and other extensions
FROM my-docker-compose:php
RUN docker-php-ext-install php-fpm
CMD php-fpm
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/
我是一名优秀的程序员,十分优秀!