[英]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
是否在此處正確配置? 任何指導將不勝感激
該錯誤似乎與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.