Php 创建自定义docker容器以匹配我的服务器

Php 创建自定义docker容器以匹配我的服务器,php,apache,ubuntu,docker,ubuntu-14.04,Php,Apache,Ubuntu,Docker,Ubuntu 14.04,我是docker的新手,需要将其用于需要php5的遗留项目。这是我的Dockerfile代码片段: FROM ubuntu:14.04.1 LABEL MAINTAINER Hasan RUN apt-get update && \ apt-get install -y apache2 && \ apt-get install -y mysql-server php5-mysql && \ apt-get install -

我是docker的新手,需要将其用于需要php5的遗留项目。这是我的
Dockerfile
代码片段:

FROM ubuntu:14.04.1
LABEL MAINTAINER Hasan
RUN apt-get update && \
    apt-get install -y apache2 && \
    apt-get install -y mysql-server php5-mysql && \
    apt-get install -y php5 libapache2-mod-php5 php5-mcrypt
WORKDIR /var/www/html
COPY . /var/www/html
EXPOSE 80
CMD service apache2 start
以下是构建它的命令:

docker build -t rakibtg/oldapp .
它给出的错误很少,包括“哈希和不匹配”和“返回非零代码:100”

在60秒内获取了16.7 MB(274 kB/s) E:无法获取哈希和不匹配

E:无法获取一些存档,可能运行apt get update或尝试使用--fix missing? 命令“/bin/sh-c apt-get-update&&apt-get-install-y apache2&&apt-get-install-y mysql服务器php5-mysql&&apt-get-install-y php5-libapache2-mod-php5-php5-mcrypt”返回了一个非零代码:100

我该怎么做才能修好它? 另外,
CMD
是否在此处正确配置?任何指导都将不胜感激

  • 我在mac上使用docker

此错误似乎更多地与
apt get
行为相关,而不是与Docker相关。 您可以尝试:

FROM ubuntu:14.04.1
LABEL MAINTAINER Hasan
RUN apt-get clean && apt-get update && \
    apt-get install -y apache2 && \
    apt-get install -y mysql-server php5-mysql && \
    apt-get install -y php5 libapache2-mod-php5 php5-mcrypt
WORKDIR /var/www/html
COPY . /var/www/html
EXPOSE 80
CMD apachectl -D FOREGROUND
或中提到的其他解决方案

顺便说一下,我更改了你的CMD声明。实际上,当使用服务时,进程将与shell分离,Docker将停止容器(请参阅相关说明)