Tor*_*ben 2 docker docker-compose
我使用了一个非常简单的docker设置,包括docker-compose和docker-sync.我有以下文件:
搬运工-撰写-dev.yml
version: "2"
services:
apache:
volumes:
- ./docker-config/vhost:/etc/apache2/sites-enabled/000-default.conf
- rr-sync:/var/www/html:nocopy # nocopy is important
volumes:
rr-sync:
external: true
Run Code Online (Sandbox Code Playgroud)
泊坞窗,compose.yml
version: '2'
services:
apache:
image: bylexus/apache-php7
ports:
- 80:80
db:
image: orchardup/mysql
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: rr
Run Code Online (Sandbox Code Playgroud)
泊坞窗,sync.yml
version: "2"
options:
verbose: true
syncs:
rr-sync: # tip: add -sync and you keep consistent names as a convention
src: './src'
sync_excludes: ['.git']
Run Code Online (Sandbox Code Playgroud)
我使用的图像是bylexus/apache-php7,它不支持curl,也没有像容器中安装的vim这样的工具.
问题是,如何安装curl和vim但是继续使用此图像进行apache?我需要在上面的文件中更改什么?
谢谢.
将您自己的内容添加Dockerfile到基于所需基本映像构建的项目中.在此文件中,添加您自己的包(例如,curl和vim):
FROM bylexus/apache-php7
RUN apt-get install -y curl vim
Run Code Online (Sandbox Code Playgroud)
然后,在您的docker-compose.yml文件中,不要使用image属性,而是使用build属性:
version: '2'
services:
apache:
build: .
ports:
- 80:80
Run Code Online (Sandbox Code Playgroud)
bylexus/apache-php7在这种情况下,图像构建在ubuntu:16.10图像上(可以在相应的Dockerfile视图中看到),因此您可以使用Ubuntu的包管理工具.除了那个之外的图像bylexus/apache-php7可能会使用其他基础分发与其他包管理器).
| 归档时间: |
|
| 查看次数: |
2930 次 |
| 最近记录: |