BastienM / docker-composer

:ok_woman: Docker container to install and run Composer.

Home Page:https://hub.docker.com/r/composer/composer/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Supported tags and respective Dockerfile links

  • 1.0
  • 1.0-alpine
  • 1.0-php5
  • 1.0-php5-alpine
  • 1.1, 1, latest
  • 1.1-php5, 1-php5, php5
  • 1.1-alpine, 1-alpine, alpine
  • 1.1-php5-alpine, 1-php5-alpine, php5-alpine
  • master
  • master-php5
  • master-alpine
  • master-php5-alpine

What is Composer?

Composer is a tool for dependency management in PHP. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you.

wikipedia.org/wiki/Composer (software)

Composer Logo

How to use this image.

Installation / Usage

  1. Install the composer/composer container:

    $ docker pull composer/composer

Alternatively, pull a specific version of composer/composer: sh $ docker pull composer/composer:1.1

  1. Create a composer.json defining your dependencies. Note that this example is a short version for applications that are not meant to be published as packages themselves. To create libraries/packages please read the documentation.

    {
        "require": {
            "monolog/monolog": ">=1.0.0"
        }
    }
  2. Run Composer through the Composer container:

    $ docker run --rm -v $(pwd):/app composer/composer install

Or run using a specific version of Composer: sh $ docker run --rm -v $(pwd):/app composer/composer:1.1 install If working with packages installed via git ssh the local .ssh directory shall be mapped into the container: sh $ docker run --rm -v $(pwd):/app -v ~/.ssh:/root/.ssh composer/composer install

  1. Add optional composer command to the host (tested on OS X El Capitan with docker-machine)

Create new composer file sh $ sudo vim /usr/local/bin/composer

The contents of the file will look like this: sh #!/bin/sh export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin echo "Current working directory: '"$(pwd)"'" docker run --rm -v $(pwd):/app -v ~/.ssh:/root/.ssh -v $HOME/.composer-docker:/composer composer/composer $@

Once the script has been made, it must be set as executable sh $ sudo chmod +x /usr/local/bin/composer

Now the composer command is available native on host: sh $ composer --version

Image Variants

composer/composer:<version>

This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of.

composer/composer:php5

This is made to run Composer through PHP 5, rather then the default of PHP 7.

composer/composer:alpine

This image is based on the popular Alpine Linux project, available in the alpine official image. Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general.

composer/composer:php5-alpine

This is made to run Composer through PHP 5, rather then the default of PHP 7, through the Alpine container.

About

:ok_woman: Docker container to install and run Composer.

https://hub.docker.com/r/composer/composer/

License:Other


Languages

Language:Makefile 63.2%Language:Shell 36.8%