Skip to content

Instantly share code, notes, and snippets.

@vinkrish
Last active August 23, 2020 11:09
Show Gist options
  • Save vinkrish/749cc80e5ad8dacfbe5c87e8cee69002 to your computer and use it in GitHub Desktop.
Save vinkrish/749cc80e5ad8dacfbe5c87e8cee69002 to your computer and use it in GitHub Desktop.
docker info
docker version
docker image ls
docker images == docker image ls
docker run hello-world
docker ps
docker ps -a
docker top
docker service ls
docker service inspect NAME
docker service scale NAME=n
docker node ps
docker node ps self
docker node ps ip-172-12-23-123
docker service rm NAME
docker push <image-name>
docker image prune (to clean up dangling images)
docker image prune -a
docker system prune
docker system df
docker-machine ls
docker-machine start
docker-machine help
docker-machine env default
docker run <image>
docker start <container>
docker stop <container>
docker rm <container>
docker rmi -> removes images
docker rmi -f <IMAGE ID>
git clone https://github.com/docker/doodle.git
cd doodle/cheers2019 && docker build -t vinkrish/cheers2019 .
docker run -it --rm vinkrish/cheers2019
docker login && docker push vinkrish/cheers2019
Have Dockerfile and then:
docker image build -t cheers-2019:latest .
docker image push vinkrish/cheers2019
docker pull vinkrish/cheers2019
docker container run -d --name web -p 80:8080 vinkrish/cheers2019
docker stop web
docker start web
docker swarm init --advertise-addr ip_addr:2377 --listen-addr ip_addr:2377
docker swarm join-token manager
docker swarm join-token worker
run from manager node:
docker node ls
Blog:
docker run -d -p 3306:3306 tutum/mysql
Nginx:
docker container run --publish 80:80 nginx
docker container run --name nginx-server --publish 80:80 --detach nginx
docker container run --publish 80:80 --detach nginx
docker container stop first_few-digits
--detach: makes it runs in the background
To change version of image: nginx:1.11
curl localhost
docker container ls
docker container ls -a
docker container logs id_first_few_digits/name
docker container rm id_first_few_digits
To force stop running container:
docker container rm -f id_first_few_digits
docker container top
docker container inspect
docker container stats
docker container run -it --name proxy nginx bash
ls -al
exit
Mongo:
docker run --name mongo -d mongo
docker top mongo
ps aux
docker stop mongo
ps aux | grep mongo
docker start mongo
mysql:
docker pull mysql
docker image inspect mysql
To clean up unused volumes:
docker volume prune
docker container run -d --name mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=True mysql
docker container inspect mysql
docker container run --name mysql-db --env MYSQL_RANDOM_ROOT_PASSWORD=yes --publish 3306:3306 --detach mysql
docker volume ls
docker container rm mysql mysql2
docker volume inspect __volume_name
docker container top mysql-db
docker container logs mysql-db
password: pheezuva6uufohya2ash8ahpahPahkaN
httpd:
docker container run --name apache-server --publish 8080:80 --detach httpd
curl loclhost:8080
docker container --help
docker container stats --help
docker container run --help
start new container interactively:
docker container run -it
run additional command in existing container:
docker container exec -it
docker container run -it --name proxy nginx bash
ls -al
exit
docker container ls
docker container ls -a
full distribution:
docker container run -it --name ubuntu ubuntu
apt-get update
apt-get install -y curl
curl google.com
exit
to (re-run):
docker container start -ai ubuntu
docker container exec --help
docker conatiner exec -it mysql bash
ps aux
exit
docker pull alpine
docker image ls
docker container run -it alpine sh
docker container run -p 80:80 --name webhost -d nginx
docker container port webhost
docker container inspect --format '{{ .NetworkSettings.IPAddress }}' webhost
ifconfig en0
Neworks:
docker network ls
docker network inspect
docker network create --driver
docker network connect
docker network disconnect
docker network inspect bridge
docker network create my_app_net
docker network create --help
docker container run -d --name new_nginx --network my_app_net nginx:alpine
docker network inspect my_app_net
docker network connect 08e72c381660 b86eed840533(webhost)
docker container run -d --name my_nginx --network my_app_net nginx:alpine
docker network inspect my_app_net
docker container exec -it my_nginx ping new_nginx
docker container exec -it new_nginx ping my_nginx
docker history nginx:latest
docker inspect nginx
docker image tag --help
docker image tag nginx vinkrish/nginx
docker image ls
docker image push vinkrish/nginx
docker image tag vinkrish/nginx vinkrish/nginx:testing
docker image push vinkrish/nginx:testing
docker pull mysql/mysql-server
docker pull nginx:mainline
docker build -f file
docker image build -t customnginx .
docker image ls
To delete on exit (--rm):
docker container run -p 80:80 --rm nginx
docker image build -t nginx-with-html .
docker container run -p 80:80 --rm nginx-with-html
docker image tag nginx-with-html:latest vinkrish/nginx-with-html:latest
docker image ls
docker image push vinkrish/nginx-with-html
Assignment:
docker build -t testnode .
docker container run --rm -p 80:3000 testnode
docker images
docker tag testnode vinkrish/testnode
docker push vinkrish/testnode
docker image ls
docker image rm vinkrish/testnode
docker container run --rm -p 80:3000 vinkrish/testnode
if using Docker Toolbox:
docker-machine rm default
docker-machine create
To reuse same volume:
docker container run -d --name mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=TRUE -v mysql-db:/var/lib/mysql mysql
docker container inspect mysql-db
docker volume ls
docker volume inspect VOLUME_NAME
> docker --help
> docker container --help
> docker container ls --help
> docker run --help
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment