car*_*ari 3 docker docker-compose
我正在用Docker-compose建造一盏灯.
在我的docker-compose.yml中,我有以下内容:
ubuntu-base:
build: ./ubuntu-base
webserver-base:
build: ./webserver-base
Run Code Online (Sandbox Code Playgroud)
webserver-base源自基于ubuntu的映像.在基于Web服务器的Dockerfile中:
FROM docker_ubuntu-base
Run Code Online (Sandbox Code Playgroud)
ubuntu-base已建成
FROM ubuntu:14.04
Run Code Online (Sandbox Code Playgroud)
现在,如果我执行docker-compose.yml,它不会构建基于ubuntu的映像,但它尝试构建基于Web服务器的映像并失败,因为它找不到基于ubuntu的映像.
输出:
$ docker-compose up -d
Building webserver-base
Step 1 : FROM docker_ubuntu-base
Pulling repository docker.io/library/docker_ubuntu-base
ERROR: Service 'webserver-base' failed to build: Error: image library/docker_ubuntu-base:latest not found
Run Code Online (Sandbox Code Playgroud)
如果我首先手动构建基于ubuntu的映像,这一切都有效.
为什么它不构建基于ubuntu的图像?
遗憾的是,构建顺序是docker-compose中缺少的功能,现在需要很多个月.
作为解决方法,您可以像这样链接容器:
ubuntu-base:
build: ./ubuntu-base
webserver-base:
build: ./webserver-base
links:
- ubuntu-base
Run Code Online (Sandbox Code Playgroud)
这样ubuntu-base就可以在webserver-base之前构建.
| 归档时间: |
|
| 查看次数: |
2404 次 |
| 最近记录: |