Для файлов проекта сделать отдельный контейнер
project_files
, который потом можно подключать к php через
--volumes-from project_files
Примерный Dockerfile для этого контейнера:
FROM ubuntu
RUN apt-get update && apt-get install -y git
RUN mkdir /root/.ssh/
COPY id_rsa /root/.ssh/id_rsa
# Add bitbuckets key
RUN ssh-keyscan bitbucket.org >> /root/.ssh/known_hosts
# CLone repo
RUN git clone git@bitbucket.org:username/projectname.git /project_files
# Create volume
VOLUME /project_files
Кладёте в папку с Dockerfile ваш
id_rsa
и билдите
docker build -t myproject/files .
и создаёте контейнер
docker create --name project_files myproject/files /bin/true
Есть официальный
докер имидж composer'а:
docker pull composer/composer
Надо его запустить и установить зависимости вашего проекта, подключив тот контейнер с файлами проекта:
docker run --rm --volumes-from project_files -w "/project_files" composer install
Теперь в вашем контейнере с файлами полный комплект для запуска.
К контейнеру с PHP подключайте контейнер с файлами проекта тем же --volumes-from:
docker run \
--name myproject_php \
--volumes-from project_files \
php:5-fpm