Syl*_*ain 46 docker dockerfile
我有一个像这样的PHP Dockerfile:
FROM php:7-fpm
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && \
apt-get install -y git libicu-dev libmagickwand-dev libmcrypt-dev libcurl3-dev jpegoptim
RUN pecl install imagick && \
docker-php-ext-enable imagick
RUN docker-php-ext-install intl
RUN docker-php-ext-install pdo_mysql
RUN docker-php-ext-install opcache
RUN docker-php-ext-install mcrypt
RUN docker-php-ext-install curl
RUN docker-php-ext-install zip
Run Code Online (Sandbox Code Playgroud)
我想创建另一个Dockerfile,基于第一个,但添加了一些PHP扩展(用于开发目的):Xdebug和其他东西.
我可以创建一个扩展我的主Dockerfile的"dev"Dockerfile(不重写它)吗?
Cet*_*thy 19
使用多阶段构建绝对是这里答案的一部分。
docker-compose v3.4target是倒数第二个。
这是一个将2个容器(1个普通容器和1个带xdebug的容器)一起放置的示例:
Docker文件
FROM php:7-fpm AS php_base
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && \
apt-get install -y git libicu-dev libmagickwand-dev libmcrypt-dev libcurl3-dev jpegoptim
RUN pecl install imagick && \
docker-php-ext-enable imagick
RUN docker-php-ext-install intl
RUN docker-php-ext-install pdo_mysql
RUN docker-php-ext-install opcache
RUN docker-php-ext-install mcrypt
RUN docker-php-ext-install curl
RUN docker-php-ext-install zip
FROM php_base AS php_test
RUN pecl install xdebug
RUN docker-php-ext-enable xdebug
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml
version: '3.4'
services:
php:
build:
context: ./
target: php_base
php_test:
build:
context: ./
target: php_test
# ...
Run Code Online (Sandbox Code Playgroud)
edr*_*evo 18
如果您不想标记您的第一个 Dockerfile 以便FROM在下一个 Dockerfile的指令中使用它,并且您使用的是 Docker 20.10+,您也可以这样做:
# syntax = edrevo/dockerfile-plus
INCLUDE+ Dockerfile.base
RUN whatever
Run Code Online (Sandbox Code Playgroud)
该INCLUDE+指令由 Dockerfile 中的第一行导入。您可以在https://github.com/edrevo/dockerfile-plus 上阅读有关 dockerfile-plus 的更多信息
lar*_*sks 15
这正是您FROM php:7-fpm正在做的事情:使用Dockerfile的内容从php图像(带7-fpm标记)扩展Dockerfile.
所以在从Dockerfile构建图像之后:
docker build -t my-php-base-image .
Run Code Online (Sandbox Code Playgroud)
您可以通过创建一个以以下内容开头的新Dockerfile来扩展它:
FROM my-php-base-image
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23084 次 |
| 最近记录: |