開発のためにイメージを明示的に作成するために、私はphp:5.5.36-apacheイメージをベースにしているドッカーファイルを持っています。私のDockerfileはmemcachedをインストールしますが、私は起動時にmemcachedを取得することができません。私がコンテナにsshで手動でmemcachedを起動すると、うまく始まります。公式のphpドッカー画像を使用し、起動時にmemcachedを実行する
FROM php:5.5.36-apache
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
default-jdk
RUN apt-get install -y --no-install-recommends autoconf
RUN apt-get install -y --no-install-recommends python python-pip
RUN apt-get update && apt-get install -y libmemcached-dev \
apt-utils re2c g++ memcached \
zlib1g zlib1g-dbg zlib1g-dev zlibc mysql-client php5-mysql \
&& pecl install memcached \
&& docker-php-ext-enable memcached\
&& pecl install memcache \
&& docker-php-ext-enable memcache
RUN docker-php-ext-install pdo pdo_mysql
RUN apt-get install -y gettext
RUN pip install hgapi
RUN a2enmod headers \
&& a2enmod rewrite
COPY ./apache2.conf /etc/apache2/apache2.conf
RUN mkdir /var/www/content
EXPOSE 11211
RUN systemctl enable memcached.service
は、ベース画像は、Debianに基づいている:ジェシー
あなたはRUNを悪用します。 RUNはあなたが必要とするソフトウェアのインストールと設定を支援し、ADD/COPYはファイルを追加し、ENVは環境変数を定義し、CMDとENTRYPOINTはあなたのものを起動するので、mysqldはMysqlドッカーのイメージで起動し、Apache dockerイメージのApacheも起動します。 DockerfileにCMDまたはENTRYPOINTが表示されません。 https://docs.docker.com/engine/reference/builder/#/cmdとhttps://docs.docker.com/engine/reference/builder/#/entrypoint – user2915097
の画像を確認します。それは本当に私を混乱させていた部分でした。私の答えは以下を参照してください、私は今より良いです。 –