【发布时间】:2016-02-28 04:52:37
【问题描述】:
我已经使用这些步骤构建了一个图像:
下载管理员包
wgethttps://www.adminer.org/static/download/4.2.4/adminer-4.2.4-en.php
mv adminer-4.2.4-en.php adminer.php
创建 docker 文件
vi dockerfile
FROM ubuntu
RUN apt-get -y install apache2 php5 php5-curl php5-cli php5-mysql php5-gd mysql-client mysql-server
RUN apt-get -y install postgresql postgresql-contrib
RUN apt-get -y install php5-pgsql
COPY adminer.php /var/www/html/
RUN chmod -R 777 /var/www/html/
构建并运行
docker build -t shantanuo/adminer1 .
docker run -i -t --rm -p 80:80 --name adminer1 shantanuo/adminer1
进入容器后,我需要运行此命令来启动 apache。
sudo 服务 apache2 启动
如何在 dockerfile 中包含此命令? (为此添加 CMD 后构建失败。)
还有其他(更好的)安装 adminer.php 包的方法吗?
可以缩小这张图片的大小吗?
【问题讨论】:
-
诀窍是使用
CMD ["/usr/sbin/apache2 -D FOREGROUND"]之类的东西在非守护程序模式下运行apache2,或者从hub.docker.com/_/httpd之类的Apache docker镜像开始,而不是ubuntu基础镜像。
标签: docker dockerfile