mkdir database/mysql -p
mkdir apache/data -p
mkdir projectssudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
apt-cache policy docker-ce
sudo apt install docker-ce
sudo systemctl status docker
docker -v
#Docker Compose Plugin New 2024
mkdir -p ~/.docker/cli-plugins/
curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m) -o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose
# network create
docker network create \
--driver=bridge \
--subnet=172.28.0.0/16 \
--ip-range=172.28.5.0/24 \
--internal=false\
--gateway=172.28.5.254 \
--attachable=true \
local-network
# In a single line
docker network create --driver=bridge --subnet=172.28.0.0/16 --ip-range=172.28.5.0/24 --internal=false --gateway=172.28.5.254 --attachable=true local-network
# Network inspect
docker network inspect local-networkdocker --help
docker image --help
docker image build -t web1 .
docker image inspect web1
docker image build -t web1:1.0 .
docker image build -f DockerfileAnother -t web1:1.0 .
docker image ls
docker image rm web1:1.0
docker image ls
docker login
docker image tag web1 myrepo/web1:latest
docker image ls
docker image push myrepo/web1
docker image rm -f [image id]
docker image ls
docker pull myrepo/web1
docker image lsdocker image tag myrepo/web1 web1
docker image rm myrepo/web1
docker image ls
docker ps # all container list
docker container ls
docker container run -it -p 5000:5000 -e FLASK_APP=app.py web1
docker container ls
docker container ls -a
docker container rm [container id]
docker container run -it -p 5000:5000 -e FLASK_APP=app.py
--rm --name web1 web1
docker container logs web1
docker container logs -f web1
docker container stats
docker container stop web1
docker container run --helpdocker-compose up
docker-compose up --build #Build & Up
docker-compose down # Stop and remove container
docker-compose up -d # Detached mode
docker-compose start # existing container operation
docker-compose restart
docker-compose restart angular # specific service can restart
docker-compose stopdocker ps # list of all running containers
docker container ls
docker container ls -a
docker system df # Show docker disk usage
docker image ls
docker image rm imageID
docker system df -v # Show detailed information on space usage
docker system info
docker system prune
docker system prune -f # --forece Do not prompt for confirmation
docker system prune -a # --all Remove all unused images not just dangling ones
docker container stop web2 redis
docker container stop $(docker container ls -a -q)docker exec -it container_name bash
docker exec -it container_name your command
docker exec -it sadagar_ng npm install
ln -s original_source_folder destination_folder
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
sudo chown $USER /var/run/docker.sock
sudo usermod -a -G docker $USER
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer
sudo a2enmod lbmethod_byrequests
<VirtualHost *:80>
ServerName mydomain.local
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>
Run the following commands from local pc.
# Backup
docker exec <container_id_or_name> /usr/bin/mysqldump -u root -p<root_password> <database_name> > /path/to/local/dump.sql
Example:
docker exec mydbcontainer /usr/bin/mysqldump -u root -pmypassword mydatabase > ./latest_backup.sql
#Restore
docker exec -i <container_id_or_name> /usr/bin/mysql -u root -p<root_password> <database_name> < /dump.sql
Example:
docker exec -i mydbcontainer /usr/bin/mysql -u root -pmypassword mydatabase < latest_backup.sql