Docker
Installation
Source: linuxconfig.org
sudo apt-get update sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main' sudo apt-get update
It should download from repository:
apt-cache policy docker-engine sudo apt-get install -y docker-engine sudo systemctl status docker sudo usermod -aG docker $(whoami) sudo usermod -aG docker aman docker docker info
Testing Docker
docker run hello-world docker search ubuntu
Removing Images
Find out the Image ID:
docker images
Delete the Image:
docker rmi -f d9790ed1a768
To view all containers — active and inactive:
docker ps -a
Stopping a running or active container:
docker stop <container-id>
Removing a Container:
docker rm <container-id>
Installing MediaWiki
docker search mediawiki docker run -d --name=mediawiki -p 80:80 linuxconfig/mediawiki docker ps
Running same container again on next reboot
docker start mediawiki
Databases Credentials
Use the following command to update or reset MariaDB user password. The below command will set a new admin user password:
docker exec -it mediawiki mysqladmin -uadmin -ppass password abc123
To create a new database eg. mediawiki2 enter:
docker exec -it mediawiki mysqladmin -uadmin -ppass create mediawiki2
NGINX
Source: digitalocean.com
Create nginx root directory:
mkdir -p ~/docker-nginx/html cd ~/docker-nginx/html nano index.html
Paste below contents into this file
<html> <body style="background-color:green"> <head> <title>Green Site - Docker </title> </head> <body> <div class="container"> <h1> GREEN WEBSITE</h1> <p> This is GREEN Website.</p> <p> Its color is also GREEN.</p> </div> </body> </html>
Install nginx image for docker
docker search nginx
Run nginx docker image
docker run --name nginx -p 80:80 -d -v ~/docker-nginx/html:/usr/share/nginx/html nginx
Multiple Instances
Create copies of root directory for different servers:
cp -r ~/docker-nginx/ ~/docker-nginx8080/ cp -r ~/docker-nginx/ ~/docker-nginx8081/ cp -r ~/docker-nginx/ ~/docker-nginx8082/ cp -r ~/docker-nginx/ ~/docker-nginx8083/
Edit the Index.html file to reflect different content by editing the html code.
Start different instances of nginx to start with different ports & root directories:
docker run --name nginx8080 -p 8080:80 -d -v ~/docker-nginx8080/html:/usr/share/nginx/html nginx docker run --name nginx8081 -p 8081:80 -d -v ~/docker-nginx8081/html:/usr/share/nginx/html nginx docker run --name nginx8082 -p 8082:80 -d -v ~/docker-nginx8082/html:/usr/share/nginx/html nginx docker run --name nginx8083 -p 8083:80 -d -v ~/docker-nginx8083/html:/usr/share/nginx/html nginx
Nginx instances should now be available using below links:
http://<IP_of_Server>:8080 http://<IP_of_Server>:8081 http://<IP_of_Server>:8082 http://<IP_of_Server>:8083
- References
{{#widget:DISQUS
|id=networkm
|uniqid=Docker
|url=https://aman.awiki.org/wiki/Docker
}}