Sign inSign up

spittet/php-mysql

By spittet

•Updated over 9 years ago

A PHP image with MySQL to use with Bitbucket Pipelines

Image
3

10K+

spittet/php-mysql repository overview

⁠PHP and MySQL for Bitbucket Pipelines

This repository contains a Dockerfile as well as a simple example that shows how you can run your own Docker container with PHP and MySQL on Bitbucket Pipelines.

The Docker image is using PHP 7.1.1 and MySQL 5.5.

⁠Quickstart

⁠Using the image with Bitbucket Pipelines

Just copy/paste the YML below in your bitbucket-pipelines.yml and adapt the script to your needs.

# This is a sample build configuration for PHP.
# Only use spaces to indent your .yml configuration.
# -----
# You can specify a custom docker image from Dockerhub as your build environment.
image: spittet/php-mysql

pipelines:
  default:
    - step:
        script: # Modify the commands below to build your repository.
          - /etc/init.d/mysql start
          - mysql -uroot -e 'create database php'
          - php test.php
⁠Using this in a script

You'll find a sample script in this repository in test.php. It simply connects to MySQL and then lists the existing databases.

<?php

$conn = new PDO("mysql:host=127.0.0.1;dbname=php", root, '');

$sql = 'SHOW DATABASES;';

$q = $conn->query($sql);

while ($row = $q->fetch()){
  print_r($row);
}

⁠Create your own image

If you want to use a different version of PHP you can simply create your own image for it. Just copy the content of the Dockerfile and replace the first line.

This image is built from the official PHP image at https://hub.docker.com/_/php/⁠ and you can find there all the different versions that are supported.

Your Dockerfile won't need to have an ENTRYPOINT or CMD line as Bitbucket Pipelines will run the script commands that you put in your bitbucket-pipelines.yml file instead.

FROM php:7.1.1
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update \
  && apt-get install -y mysql-server mysql-client libmysqlclient-dev --no-install-recommends \
  && docker-php-ext-install pdo pdo_mysql \
  && apt-get clean \
  && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# This Dockerfile doesn't need to have an entrypoint and a command
# as Bitbucket Pipelines will overwrite it with a bash script.
⁠Build the image
docker build -t <your-docker-account>/php-mysql .
⁠Run the image locally with bash to make some tests
docker run -i -t <your-docker-account>/php-mysql /bin/bash
⁠Push the image back to the Docker Hub
docker push <your-docker-account>/php-mysql

Tag summary

Content type

Image

Digest

Size

173.8 MB

Last updated

over 9 years ago

docker pull spittet/php-mysql