Pré-requis : installer docker.io et docker-compose
4 containers :
- wordpress-php7.1
- phpmyadmin
- mariadb -> base de données
- portainer –> gestion du container
Créer l’image wordpress et php7 à partir du GIT
mkdir /root/wordpress
cd /root/wordpress
git clone https://github.com/docker-library/wordpress.git .
Cloning into ‘.’…
remote: Counting objects: 641, done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 641 (delta 8), reused 0 (delta 0), pack-reused 618
Receiving objects: 100% (641/641), 118.41 KiB | 0 bytes/s, done.
Resolving deltas: 100% (242/242), done.
Checking connectivity… done.
root@debian8:~/wp1# ls
cli-entrypoint.sh Dockerfile-alpine.template Dockerfile-debian.template LICENSE php7.0 README.md
docker-entrypoint.sh Dockerfile-cli.template generate-stackbrew-library.sh php5.6 php7.1 update.sh
root@debian8:~/wordpress# cd php7.1
root@debian8:~/wordpress/php7.1#
#cd fpm
#ls
docker-entrypoint.sh Dockerfile
Voir le fichier Dockerfile pour générer l’image
#docker build -t wordpress-fpm-7.1 .
root@debian8:~# docker images |grep wordpress
wordpress-fpm-7.1 latest 55dc84dce77c 2 hours ago 408MB
Configuration du fichier Dockerfile et docker-compose.yml
root@debian8:~/wordpress-compose# cat Dockerfile
FROM orchardup/php5
ADD . /code
root@debian8:~/wordpress-compose# cat docker-compose.yml
wordpress:
image: wordpress
links:
– mariadb:mysql
environment:
– WORDPRESS_DB_PASSWORD=<password>
ports:
– 80:80
volumes:
– ./code:/code
– ./html:/var/www/html
mariadb:
image: mariadb
environment:
– MYSQL_ROOT_PASSWORD=<password>
– MYSQL_DATABASE=wordpress
volumes:
– ./database:/var/lib/mysql
phpmyadmin:
image: corbinu/docker-phpmyadmin
links:
– mariadb:mysql
ports:
– 8181:80
environment:
MYSQL_USERNAME: root
MYSQL_ROOT_PASSWORD: password
portainer:
image: portainer/portainer
ports:
– “9000:9000”
volumes:
– /var/run/docker.sock:/var/run/docker.sock
root@debian8:~/wordpress-compose#
Lancement de l'application wordpress
root@debian8:~/wordpress-compose# docker-compose up -d
Creating wordpresscompose_mariadb_1
Creating wordpresscompose_portainer_1
Creating wordpresscompose_wordpress_1
Creating wordpresscompose_phpmyadmin_1
root@debian8:~/wordpress-compose# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ccab04414ebb corbinu/docker-phpmyadmin “/bin/sh -c phpmya…” 6 seconds ago Up 5 seconds 0.0.0.0:8181->80/tcp wordpresscompose_phpmyadmin_1
7fe9cc322cb7 wordpress “docker-entrypoint…” 6 seconds ago Up 4 seconds 0.0.0.0:80->80/tcp wordpresscompose_wordpress_1
fb896db63db8 portainer/portainer “/portainer” 7 seconds ago Up 5 seconds 0.0.0.0:9000->9000/tcp wordpresscompose_portainer_1
a3b06a71215b mariadb “docker-entrypoint…” 7 seconds ago Up 5 seconds 3306/tcp wordpresscompose_mariadb_1
root@debian8:~/wordpress-compose#



Arrêt de l’applicatif
root@debian8:~/wordpress-compose# docker-compose stop
Stopping wordpresscompose_phpmyadmin_1 … done
Stopping wordpresscompose_wordpress_1 … done
Stopping wordpresscompose_portainer_1 … done
Stopping wordpresscompose_mariadb_1 … done
root@debian8:~/wordpress-compose# docker-compose rm
Going to remove wordpresscompose_phpmyadmin_1, wordpresscompose_wordpress_1, wordpresscompose_portainer_1, wordpresscompose_mariadb_1
Are you sure? [yN] y
Removing wordpresscompose_phpmyadmin_1 … done
Removing wordpresscompose_wordpress_1 … done
Removing wordpresscompose_portainer_1 … done
Removing wordpresscompose_mariadb_1 … done
root@debian8:~/wordpress-compose#
Se connecter dans le container wordpress :
root@debian8:~/wordpress-compose# docker exec -ti 83492ff45eae bash
root@83492ff45eae:/var/www/html# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 00:10 ? 00:00:00 apache2 -DFOREGROUND
www-data 61 1 0 00:10 ? 00:00:00 apache2 -DFOREGROUND
www-data 62 1 0 00:10 ? 00:00:00 apache2 -DFOREGROUND
www-data 63 1 0 00:10 ? 00:00:00 apache2 -DFOREGROUND
www-data 64 1 0 00:10 ? 00:00:00 apache2 -DFOREGROUND
www-data 65 1 0 00:10 ? 00:00:00 apache2 -DFOREGROUND
root 66 0 0 00:11 ? 00:00:00 bash
root 69 66 0 00:11 ? 00:00:00 ps -ef
root@83492ff45eae:/var/www/html#

Comments