Hub*_*NNN 8 docker docker-compose
我有一些共享通用代码但并不完全相同的图像。有没有办法在 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
Run Code Online (Sandbox Code Playgroud)
基础dockerfile
FROM php:7.2-fpm-alpine
RUN docker-php-ext-install bcmath
... and other extensions
Run Code Online (Sandbox Code Playgroud)
以及其他 dockerfiles(有小的变化):
php-fpm
FROM my-docker-compose:php
RUN docker-php-ext-install php-fpm
CMD php-fpm
Run Code Online (Sandbox Code Playgroud)
php-cron
FROM my-docker-compose:php
COPY php/crontab /tmp/crontab
RUN /usr/bin/crontab -u www-data /tmp/crontab
CMD crond
Run Code Online (Sandbox Code Playgroud)
通常,您可以通过将基础映像存储在 Docker 注册表中来实现此目的。您可以将它们存储在公共注册表(https://hub.docker.com)或一些私有注册表中(托管在云端或本地)。
以下是有关 Docker 注册表的更多信息: https://docs.docker.com/registry/
有关使用基础映像的一些其他信息: https ://docs.docker.com/develop/develop-images/baseimages/
| 归档时间: |
|
| 查看次数: |
1850 次 |
| 最近记录: |