添加命令 docker 图片
adding a command docker image
我使用以下步骤构建了一个图像:
下载管理员包
wget https://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 docker文件
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 运行 -i -t --rm -p 80:80 --name adminer1 shantanuo/adminer1
进入容器后,我需要运行此命令来启动 apache。
sudo 服务 apache2 启动
如何将此命令包含在 docker 文件中? (为此添加 CMD 后构建失败。)
有没有其他(更好的)方法来安装 adminer.php 包?
是否可以缩小这张图片的尺寸?
您所做的是打开一个交互式 bash 会话并尝试启动服务器。
如果您以分离模式 (-d
) 而不是 -it
启动相同的映像并让 apache 运行会更好。
为此,如评论所述,您需要从 httpd:2.4 开始,其中:
- 有一个 Dockerfile starting by default apache
- 有一个
httpd-foreground
脚本在前台启动 Apache 服务器。
更好的方法是使用 PHP docker image:
FROM php:5.6-apache
这样,您甚至不必安装 apache 或 php。您只需复制 php 应用程序。
然后,如果需要,您仍然可以打开 bash 会话:
docker exec -it <yourContainer> bash
我使用以下步骤构建了一个图像:
下载管理员包
wget https://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 docker文件
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 运行 -i -t --rm -p 80:80 --name adminer1 shantanuo/adminer1
进入容器后,我需要运行此命令来启动 apache。
sudo 服务 apache2 启动
如何将此命令包含在 docker 文件中? (为此添加 CMD 后构建失败。)
有没有其他(更好的)方法来安装 adminer.php 包?
是否可以缩小这张图片的尺寸?
您所做的是打开一个交互式 bash 会话并尝试启动服务器。
如果您以分离模式 (-d
) 而不是 -it
启动相同的映像并让 apache 运行会更好。
为此,如评论所述,您需要从 httpd:2.4 开始,其中:
- 有一个 Dockerfile starting by default apache
- 有一个
httpd-foreground
脚本在前台启动 Apache 服务器。
更好的方法是使用 PHP docker image:
FROM php:5.6-apache
这样,您甚至不必安装 apache 或 php。您只需复制 php 应用程序。
然后,如果需要,您仍然可以打开 bash 会话:
docker exec -it <yourContainer> bash