我有几个自定义泊坞窗图像,即
cloudbluedigital/mysql:v-0.1
cloudbluedigital/redis:v-0.1
我现在正在使用这些图像来构建laravel图像,所以在我的docker文件中我有:
FROM cloudbluedigital/ubuntu:v-0.2
FROM cloudbluedigital/php:v-0.2
FROM cloudbluedigital/node:v-0.1
FROM cloudbluedigital/mysql:v-0.1
FROM cloudbluedigital/redis:v-0.1
MAINTAINER cloudbluedigital version: 0.1
所有的好和建设,但是当我运行我的新laravel图像时,我可以从redis图像启动redis-server但是找不到mysql命令,我已经检查了mysql图像并且它安装在那里但是在我的新laravel图像上没有安装。谁知道为什么会这样?这是一个正确的设置,是否值得忽略一些额外配置的文件夹? (我只使用Dockerfile,完成新手)
答案 0 :(得分:2)
您正在使用多阶段构建Dockerfile。所以你的Dockerfile
FROM cloudbluedigital/ubuntu:v-0.2
FROM cloudbluedigital/php:v-0.2
FROM cloudbluedigital/node:v-0.1
FROM cloudbluedigital/mysql:v-0.1
FROM cloudbluedigital/redis:v-0.1
MAINTAINER cloudbluedigital version: 0.1
实际上相当于
FROM cloudbluedigital/redis:v-0.1
MAINTAINER cloudbluedigital version: 0.1
指定多个FROM仅用于构建工件并在最终FROM
中进行复制。请阅读以下内容以了解更多详情
https://docs.docker.com/engine/userguide/eng-image/multistage-build/
您需要使用docker-compose
来运行多项服务。请阅读下面的相关详细信息