【问题标题】:Creating a custom docker container to match my server创建自定义 docker 容器以匹配我的服务器
【发布时间】:2018-11-13 21:34:32
【问题描述】:

我是 docker 新手,需要将它用于需要 php5 的遗留项目。这是我的Dockerfilesn-p:

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: 获取http://archive.ubuntu.com/ubuntu/pool/main/p/perl/perl-modules_5.18.2-2ubuntu1.4_all.deb哈希和不匹配失败

E: 无法获取一些档案,也许运行 apt-get update 或尝试使用 --fix-missing? 命令'/bin/sh -c 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 ' 返回一个非零代码:100

我应该怎么做才能解决它? 另外,CMD 在这里配置正确吗?任何指南将不胜感激

  • 我在 mac 上使用 docker

【问题讨论】:

    标签: php apache ubuntu docker ubuntu-14.04


    【解决方案1】:

    这个错误似乎更多地与 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
    

    Troube downloading packages list due to a hash sum mismatch error中提到的其他解决方案

    顺便说一句,我更改了您的 CMD 语句。事实上,当使用 service 时,进程将与 shell 分离,Docker 将停止容器(相关解释请参见 How to start apache2 automatically in a ubuntu docker container?

    【讨论】:

      猜你喜欢
      • 2014-03-15
      • 2020-10-02
      • 2021-09-28
      • 2017-02-18
      • 1970-01-01
      • 1970-01-01
      • 2018-03-08
      • 2018-07-23
      • 1970-01-01
      相关资源
      最近更新 更多