Docker images zijn snel en eenvoudig om te deployen. Een voorbeeld van een snelle deployment van een WordPress website met bijbehorende SQL database vind je hier.
De images voor dit project kun je ophalen van mijn docker hub met:
docker pull nokkie/wordpress docker pull nokkie/mysql:5.7
Hiermee zijn de images binnen en gaan we eerst een directory maken:
mkdir WordPress cd WordPress
Eenmaal in deze directory maken we een bestand voor docker-compose en dat dient de volgende naam te hebben: docker-compose.yml. Deze kun je als RAW uit mijn GitLab ophalen: WordPress/docker-compose.yml
Zoals je in het compose-bestand kunt zien, maken we twee containers, één db-container en één wordpress-container en deze worden gelinked aan elkaar. We maken tevens een volume aan in de data-directory. Hier komen de databases van mySQL te staan. We maken een tcp-poort 8000 aan die redirect naar http-poort 80 van de wordpress-site.
version: '2' services: db: image: nokkie/mysql:5.7 volumes: - "./.data/db:/var/lib/mysql" restart: always environment: MYSQL_ROOT_PASSWORD: wordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: nokkie/wordpress:latest links: - db ports: - "8080:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_PASSWORD: wordpress
Om de images te bouwen en te starten, gebruik het volgende commando:
docker-compose up -d
Hierbij wordt het compose-bestand ingelezen en op de achtergrond gerund (detached).
Met het port-commando wordt tcp/port 8080 gerouteerd naar poort 80 op de docker container. We kunnen de WordPress site dus bereiken via
http://localhost:8080
Om de containers te stoppen, geef het commando:
docker-compose down