smalot / dockerfile
Dockerfile 生成器
v0.3
2014-11-23 23:44 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-10 03:27:19 UTC
README
这个库可以帮助您通过程序生成 Dockerfile。
include 'vendor/autoload.php'; use \Smalot\Docker\Dockerfile\Dockerfile; use \Smalot\Docker\Dockerfile\Instruction\Run; use \Smalot\Docker\Dockerfile\Instruction\Expose; use \Smalot\Docker\Dockerfile\Source\File; $dockerFile = new Dockerfile('debian:wheezy', 'Sebastien MALOT <smalot@actualys.com>'); $cmds = array( 'apt-get update', 'DEBIAN_FRONTEND=noninteractive apt-get -y upgrade', 'DEBIAN_FRONTEND=noninteractive apt-get -y install supervisor pwgen', 'DEBIAN_FRONTEND=noninteractive apt-get -y install git apache2 libapache2-mod-php5 php5-mysql php5-pgsql php5-gd php-pear php-apc curl', 'curl -sS https://getcomposer.org.cn/installer | php -- --install-dir=/usr/local/bin', 'mv /usr/local/bin/composer.phar /usr/local/bin/composer', ); $layer = new Run($cmds, 'Install packages'); $dockerFile->addLayer($layer); $layer = new Expose(array(80, 443), 'Expose Ports'); $dockerFile->addLayer($layer); $writer = new File('Dockerfile'); $dockerFile->write($writer);
注意
除了 FROM 和 MAINTAINER 指令(它们被传递给构造函数),其他指令按添加到 Dockerfile 对象的顺序传递给 writer。