添加命令docker镜像

时间:2016-02-28 04:52:38

标签: docker dockerfile

我使用以下步骤构建了一个图像:

下载adminer包

wget Go

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 service apache2 start

如何在dockerfile中包含此命令? (为此目的添加CMD后构建失败。)

还有其他(更好)的安装adminer.php包的方法吗?

是否可以缩小此图像的尺寸?

1 个答案:

答案 0 :(得分:2)

您所做的是打开交互式bash会话并尝试启动服务器。

如果以分离模式(-d)而不是-it启动相同的图像会更好,并让apache运行。
为此,如评论所述,您需要从httpd:2.4开始:

更好的方法是使用PHP docker image

FROM php:5.6-apache

这样,你甚至不必安装apache或php。你只需要复制你的php应用程序。

然后,如果需要,您仍然可以打开一个bash会话:

docker exec -it <yourContainer> bash