簡體   English   中英

創建一個自定義Docker容器以匹配我的服務器

[英]Creating a custom docker container to match my server

我是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”

在60s(274 kB / s)中獲取16.7 MB 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

該錯誤似乎與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下載軟件包列表中提到的其他解決方案

順便說一句,我更改了您的CMD語句。 實際上,在使用服務時,該過程將與Shell分離,並且Docker將停止容器(有關說明,請參見如何在ubuntu Docker容器中自動啟動apache2?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM