Install Composer In Docker

Written on October 13th, 2017 by Karl Hughes

Install Composer Via Docker

Package management is a method for importing code (often from open sourcelibraries) and keeping dependencies up to date in a software developmentproject. In PHP, we have a couple ways to manage packages, but the dominantchoice for modern PHP development is Composer.

While you can install PHP and Composer on your local machine directly, in thistutorial we’ll use Docker, which allows us to run PHP and Composer scriptswithout configuring either on our system directly. If you haven’t already, youshould install Docker for your operatingsystem.

Creating a PHP Timer Script

We are going to write a PHP script that sleeps for between 1 and 3 seconds, thentells us how long it waited. It’s very simple using the PHP Timerpackage, but we’ll need toimport it.


In the previous article we’ve set up the infrastructure that will hold our CodeIgniter application. In this tutorial we are finally going to really install CodeIgniter 4. If you never had the chance to follow the previous tutorial on how to build the Docker containers, or if you don’t have the nerve of Continue reading 'CodeIgniter 4 – Step 2: Installing CodeIgniter in. Jun 05, 2020 Docker installed on your server or local machine, following Steps 1 and 2 of How To Install and Use Docker on Ubuntu 20.04. Step 1 — Installing Docker Compose To make sure we obtain the most updated stable version of Docker Compose, we’ll download this software from its official Github repository.

Install Ssh Key In Docker Container. Install Ssh Client In Docker Container. On ubuntu had to run sudo apt-get build-essential -y gcc docker-enter.c -o docker-enter sudo./docker-enter container-id Nice that I dont have to get the full ID like with lxc-attach -n Codebase is short enough that one can scan the entirety quickly to look for anything. Installing Docker Compose from GitHub Repository. Step 1: Update Repositories and Packages. Step 2: Download Docker Compose. Step 3: Verify Installation. Install Docker Compose using Pip. How to Uninstall Docker Compose. Docker Compose is a tool used to define and run multi-container Docker applications.

Create a new file called composer.json and add the following to it:

Docker Toolbox Overview Docker Documentation

This tells Composer about our dependencies — in this case, just one package —when we run the install command.

Installing the Dependencies

Next, we will install the dependencies using the official Composer Dockerimage:

Let’s look at this docker command and see what’s going on:

  • docker run is Docker’s command to run a command within a newcontainer. There are a lot ofoptions that you can pass in, so be sure to read the documentation.
  • --rm tells Docker to “remove” the container after the command is run.Alternatively, you can save the container and name it to run it again.
  • -v $(pwd):/app is telling Docker to mount avolume. You typicallypass in a path to a folder on your root directory, a colon, and then a path tothe folder in the container. Here we are mounting the current directory (alongwith the composer.json file we created) into a container. This mounting goesboth ways, so we will also see the /vendor folder created when Composer runs.
  • composer/composer:latest is the actual image we’re using for this container.This will install the packages for PHP 7, but Composer also has images for olderversions of PHP.
  • install is the Composer command that is going to be run. You can also doupdate or dump-autoload in this same manner.

Now all the dependencies are installed in a new /vendor folder, but we stillhave to import them and write our PHP script.

The PHP Script

Our PHP script imports the dependencies that are included in Composer’svendor/autoload.php file, starts a timer, waits between 1 and 3 seconds, thenoutputs the final time that the script took to run. This part of the tutorialworks the same way whether you use Docker or not. This file should be namedindex.php:


Running the PHP Script

Finally, we just need to run the new PHP script we created in another Dockercontainer. This is covered in more detail in our tutorial on running PHP scriptsin Docker, but the final command should be:

You should see either 1 second, 2 seconds, or 3 seconds on your terminaloutput.

Learn to build your first Dockerized PHP application.

In this book, PHP developers will learn everything they need to know to start building their applications on Docker, including:

  • Installing dependencies using Composer.
  • Getting data from a third-party API.
  • Saving data to a MySQL database.
  • Using a web framework (SlimPHP) for routing.
  • Storing environmental variables securely.
  • And much more!

You can buy this book on Leanpub today.



Docker is a great tool for automating the deployment of Linux applications inside software containers, but to take full advantage of its potential each component of an application should run in its own individual container. For complex applications with a lot of components, orchestrating all the containers to start up, communicate, and shut down together can quickly become unwieldy.

The Docker community came up with a popular solution called Fig, which allowed you to use a single YAML file to orchestrate all of your Docker containers and configurations. This became so popular that the Docker team decided to make Docker Compose based on the Fig source, which is now deprecated. Docker Compose lets users orchestrate the processes of Docker containers, including starting up, shutting down, and setting up intra-container linking and volumes.

In this tutorial, you’ll install the latest version of Docker Compose to help you manage multi-container applications on a Debian 10 server.


To follow this article, you will need:

  • A Debian 10 server and a non-root user with sudo privileges. This initial server setup with Debian 10 tutorial explains how to set this up.
  • Docker installed with the instructions from Step 1 and Step 2 of How To Install and Use Docker on Debian 10

Note: Even though the Prerequisites give instructions for installing Docker on Debian 10, the docker commands in this article should work on other operating systems as long as Docker is installed.

Step 1 — Installing Docker Compose

Although you can install Docker Compose from the official Debian repositories, it is several minor versions behind the latest release, so in this tutorial you’ll install it from Docker’s GitHub repository. The command that follows is slightly different than the one you’ll find on the Releases page. By using the -o flag to specify the output file first rather than redirecting the output, this syntax avoids running into a “permission denied” error caused when using sudo.

Check the current release and, if necessary, update it in the command that follows:

Next we’ll set the permissions:

Then we’ll verify that the installation was successful by checking the version:

This will print out the version we installed:

Now that we have Docker Compose installed, we’re ready to run a “Hello World” example.

Step 2 — Running a Container with Docker Compose

The public Docker registry, Docker Hub, includes a Hello World image for demonstration and testing. It illustrates the minimal configuration required to run a container using Docker Compose: a YAML file that calls a single image. We’ll create this minimal configuration to run our hello-world container.

First, create a directory for the YAML file and switch to it:

Then create the YAML file:

Put the following contents into the file, save the file, and exit the text editor:

The first line in the YAML file is used as part of the container name. The second line specifies which image to use to create the container. When we run the docker-compose up command, it will look for a local image by the name we specified, hello-world. With this in place, we’ll save and exit the file.

You can look manually at images on our system with the docker images command:

When there are no local images at all, only the column headings display:

Now, while still in the ~/hello-world directory, execute the following command:

The first time you run the command, if there’s no local image named hello-world, Docker Compose will pull it from the Docker Hub public repository:

After pulling the image, docker-compose creates a container, attaches, and runs the hello program, which in turn confirms that the installation appears to be working:

Then it prints an explanation of what it did:

Docker containers only run as long as the command is active, so once hello finished running, the container stopped. Consequently, when we look at active processes, the column headers will appear, but the hello-world container won’t be listed because it’s not running:

You can see the container information, which you’ll need in the next step, by using the -a flag. This shows all containers, not just active ones:

This displays the information you’ll need to remove the container when you’re done with it.

Step 3 — Removing the Image (Optional)

To avoid using unnecessary disk space, we’ll remove the local image. To do so, we’ll need to delete all the containers that reference the image using the docker rm command, followed by either the CONTAINER ID or the NAME. In the following example, we’re using the CONTAINER ID from the docker ps -a command we just ran. Be sure to substitute the ID of your container:

Once all containers that reference the image have been removed, we can remove the image:



You’ve installed Docker Compose on Debian 10, tested your installation by running a Hello World example, and removed the test image and container.

While the Hello World example confirmed your installation, this basic configuration does not show one of the main benefits of Docker Compose — being able to bring a group of Docker containers up and down all at the same time. To see how to use Docker Compose in more detail, take a look at How To Install WordPress With Docker Compose.

  • Most Viewed News

    • Bootable Usb Mac Os Sierra
    • Download Mac Iso File
    • Install Chromium Docker
    • Download Mu Torrentbit For Mac