docker image rm nginx –force
docker container run –publish 8000:80 –detach nginx:latest
docker container ls -a
docker ps -aq
docker stop $(docker ps -aq)
rm $(docker ps -aq) –force
docker rmi $(docker images -q) –force
docker system prune
docker container logs webhost
docker container top webhost
docker container rm -f 41b
docker run –name mongo -d mongo
docker top mongo
ps aux
docker stop mongo
docker ps
docker top mongo
docker start mongo
docker container run -d -p 3306:3306 –name db -e MYSQL_RANDOM_ROOT_PASSWORD=yes mysql
docker container logs db
GENERATED ROOT PASSWORD: yi0xe8fohPhaboiF9cicaidoow4yaCie
docker container run -d –name webserver -p 8080:80 httpd
docker ps
docker container run -d –name proxy -p 8000:80 nginx
docker container ls -a
docker stop dacbe46dd93d 623768eb2e8b 476615d3fe3e 72259e479419
docker ps -a
docker container rm dacbe46dd93d 623768eb2e8b 476615d3fe3e 72259e47941
docker image ls
docker container run -d –name nginx -p 8000:80 nginx
docker container run -d –name mysql -e MYSQL_RANDOM_ROOT_PASSWORD=true mysql
docker container ls
# List processes running in container
docker container top mysql
docker container top nginx
#details of one container config
docker container inspect mysql
# performance stats for all containers
docker container stats
docker container run -it –name proxy nginx bash
ls -al
Exit
docker container ls -a
# Start new container Interactively
docker container run -it –name ubuntu ubuntu
apt-get update
apt-get install -y curl
curl google.com
exit
docker container start -ai ubuntu
# Run additional command in existing container
docker container exec -it mysql bash
exit
#Image is still running
docker pull alpine
docker image ls
docker container run -p 80:80 –name webhost -d nginx
docker container port webhost
80/tcp -> 0.0.0.0:80
docker container inspect –format ‘{{ .NetworkSettings.IPAddress }}’ webhost
172.17.0.4
# Show Network
docker network ls
NETWORK ID NAME DRIVER SCOPE
b5fc5fd2d6d5 bridge bridge local
613749eac668 host host local
2f8551c3a295 none null local
docker network inspect bridge
docker network create my_app_net
docker network ls
docker container run -d –name new_nginx –network my_app_net nginx
docker network inspect my_app_net
# Add another container on custom Network
docker network connect deb100b57c4d 900ecc0f5b4c
docker network inspect my_app_net
docker network disconnect deb100b57c4d 900ecc0f5b4c
docker container run -d –name my_nginx –network my_app_net nginx
docker inspect deb100b57c4d
[
#Testing DNS Resolution
#Preq
#docker container exec -it my_nginx bash
#apt update
#apt install iputils-ping
#exit
docker container exec -it my_nginx ping new_nginx
# Reverse Scenario
#Preq
#docker container exec -it my_nginx bash
#apt update
#apt install iputils-ping
#exit
docker container exec -it my_nginx ping new_nginx
# CLI Testing
Terminal Window #1
$ docker container run –rm -it centos:7 bash
yum update curl
curl –version
Terminal Window #2
docker ps -a
docker container run –rm -it ubuntu:14.04 bash
apt-get update && apt-get install -y curl
curl –version
# DNS Round Robin Testing
# Create a Network
$ docker network create dude
docker container run -d –net dude –net-alias search elasticsearch:2
docker container ls
docker container run –rm –net alpine nslookup search
# Elastic Search Container 1
#PRE
docker container exec -it d7f343e6e0e2 bash
apt update
apt install dnsutils
Exit
# Elastic Search Container 2
docker container exec -it 37d385dd9bb5 bash
apt update
apt install dnsutils
exit
docker container run –rm –net dude centos curl -s search:9200
docker container run –rm –net dude centos curl -s search:9200
{
“name” : “Sangre”,
“cluster_name” : “elasticsearch”,
“cluster_uuid” : “1kbpTYo-TZSLS35CPkR25Q”,
“version” : {
“number” : “2.4.6”,
“build_hash” : “5376dca9f70f3abef96a77f4bb22720ace8240fd”,
“build_timestamp” : “2017-07-18T12:17:44Z”,
“build_snapshot” : false,
“lucene_version” : “5.5.4”
},
“tagline” : “You Know, for Search”
}
docker container run –rm –net dude centos curl -s search:9200
{
“name” : “Firearm”,
“cluster_name” : “elasticsearch”,
“cluster_uuid” : “ES9_lTNoQ2Kp9ykTkr2_-g”,
“version” : {
“number” : “2.4.6”,
“build_hash” : “5376dca9f70f3abef96a77f4bb22720ace8240fd”,
“build_timestamp” : “2017-07-18T12:17:44Z”,
“build_snapshot” : false,
“lucene_version” : “5.5.4”
},
“tagline” : “You Know, for Search”
docker container ls
#Cleanup
docker container rm -f boring_allen youthful_jackson
boring_allen
youthful_jackson
docker image ls
# Images and Their Layers:Discover the Image Cache
docker pull nginx:1.18.0-alpine
docker image ls
docker history nginx:latest
#Image Tagging and Pushing to Docker Hub
docker Hubdocker pull mysql/mysql-server
docker pull nginx:mainline
docker image tag nginx ms4446/nginx
docker image push ms4446/nginx
docker login
cat .docker/config.json
# Push repository
docker image push ms4446/nginx:testing
docker image tag ms4446/nginx ms4446/nginx:testing
docker image push ms4446/nginx:testing
# Building Images: Running Docker Builds
docker image build -t customnginx .
nano Dockerfile
FROM node:6-alpine
EXPOSE 3000
RUN apk add –update tini
RUN mdkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json package.json
RUN npm install && npm cache clean
COPY . .
CMD [ “tini”, “–“,”node”, “./bin/www”]
docker build -t testnode .
# Run New Docker Build
docker container run –rm -p 88:3000 testnode
#Create Tag and Push to Dockerhub
docker images
docker tag testnode ms4446/testing-node
docker push ms4446/testing-node
#Delete local Custom Image
docker image rm ms4446/testing-node
#Download Custom Image and run
docker container run –rm -p88:3000 ms4446/testing-node
# Persistent Data: Data Volumes
#Clean up
docker system prune -a
docker ps -aq
docker stop $(docker ps -aq)
docker images -a
docker rmi 30f937e841c8 9beeba249f3e -f
docker volume prune
docker rm 900ecc0f5b4c8e86f67f13fe6062e1730da168c6feb3028f8c589a7b93d63c95 -f
# Pull mysql from repo
docker pull mysql
docker image inspect mysql
docker container run -d –name mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=True mysql
docker container ls
docker container inspect mysql
docker volume ls
docker volume inspect fb395bf87187c8e3eefe7e7e16faf5ec5b7c10b479d679232d2fc02619ddcea2
docker container run -d –name mysql2 -e MYSQL_ALLOW_EMPTY_PASSWORD=True mysql
docker volume ls
docker container stop mysql
docker container stop mysql2
docker container ls
docker container ls -a
docker volume ls
docker container rm mysql mysql2
docker volume ls
#named volumes
docker container run -d –name mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=True -v mysql-db:/var/lib/mysql mysql
docker volume ls
docker volume inspect mysql-db
docker container rm -f mysqlmysql
docker container run -d –name mysql3 -e MYSQL_ALLOW_EMPTY_PASSWORD=True -v mysql-db:/var/lib/mysql mysql
docker volume ls
#Bind Mappings
docker container run -d –name nginx -p 81:80 -v $(pwd):/usr/share/nginx/html nginx
docker container run -d –name nginx2 -p 82:80 -v $(pwd):/usr/share/nginx/html nginx
ll
touch testme.txt
ls -al
echo “is it me you’re looking for?” >testme.txt
#From Second Command line Window
docker container exec -it nginx bash
cd /usr/share/nginx/html
ls -al
#Database Upgrades with Named Volumes
docker container run -d –name psql -v psql:/var/lib/postgresql/data postgres:9.6.1
docker container logs -f psql
docker container ls
docker container stop 9a5a40be80ff
docker container run -d –name psql2 -v psql:/var/lib/postgresql/data postgres:9.6.2
docker container ps -a
docker volume ls
docker container logs -f fac039e1cb84
#Edit code Running In Containers With Bind Mounts
docker pull bretfisher/jekyll-serve
docker run 80:4000 -v $(pwd):/site bretfisher/jekyll-serve
One comment