Skip to content

Instantly share code, notes, and snippets.

@szabacsik
Last active March 6, 2024 10:42
Show Gist options
  • Save szabacsik/bde3fb7b24dceedf187e27272806ae6a to your computer and use it in GitHub Desktop.
Save szabacsik/bde3fb7b24dceedf187e27272806ae6a to your computer and use it in GitHub Desktop.
Docker Commands

Start MySql database with Apache/PHP and phpMyAdmin

docker run --name mysql -d -e MYSQL_ROOT_PASSWORD=PASSWORD -e MYSQL_ROOT_HOST=% -p 3306:3306 mysql/mysql-server:latest
docker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest
docker run --name php -d --link mysql:db -p 80:80 php:apache
docker exec php bash -c "echo \"<?php phpinfo();\" >> /var/www/html/index.php"

Stop all running containers

docker container stop $(docker container ls -aq)

Clean up

docker container rm $(docker container ls -aq)
docker image prune -a
docker rm $(docker ps -a -q); docker rmi $(docker images -a -q)
docker system prune --volumes -a --force

https://linuxize.com/post/how-to-remove-docker-images-containers-volumes-and-networks/ https://docs.docker.com/config/pruning/

Start a MySQL database

docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -e MYSQL_ROOT_HOST=% -p 3306:3306 -d mysql/mysql-server:5.5.42

Export a MySQL database from a running container into a compressed gz file

docker exec mysql /usr/bin/mysqldump -u root --password=PASSWORD DATABASE | gzip > EXPORT.sql.gz

Restore a MySQL database from a compressed gz file

gunzip < EXPORT.sql.gz | docker exec -i mysql /usr/bin/mysql -u root --password=PASSWORD DATABASE

Quick start a PHP/Apache container and attach the current directory to it

docker run --name php -d -v $PWD:/var/www/html -p 80:80 php:apache

PHP CLI

docker run -it -p 80:80 php:cli /bin/bash

Run a PHP script with current directory mounted

docker run -v $(pwd):/app -w /app php:8.2 php run.php

Creating a unified Docker Network with MySQL, Redis, and PHP 8 Alpine Containers

docker network create my-network
docker run --name MYSQL -e MYSQL_ROOT_PASSWORD=PASSWORD -e MYSQL_DATABASE=my-database -p 0.0.0.0:3306:3306 --network my-network -d mysql:latest
docker run --name REDIS -p 6379:6379 --network my-network -d redis:latest
docker run --name PHP8-ALPINE -p 8080:80 --network my-network -d php:8.2-cli-alpine
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment