What is docker?
Getting Started
Download docker and install it on your computer
Docker commands
You are going to use the command-line interface to work with Docker.
docker images
– list out all the images in your computer
docker ps -a
– list out all the running containers on your computer
docker rmi imageId
– delete or remove an image.
docker stop containerId
– stop a running container
docker rm containerId
– delete a container
docker pull image: tag
– pull an image from a docker registry(docker hub or AWS ECR).
docker pull mysql
Run docker container automatically
Use these tags
-dit --restart unless-stopped
docker run -p outside-port:internal-port –name container-name -dit –restart unless-stopped -d image_name:image_tag
– run docker container with the port where the container will use both externally and internally, the name of the container, the image, and tag being used, and a command to make sure the container will restart if it stops.
– -d means that to run container in background and print container ID
docker run -p outside-port:internal-port --name container-name -dit --restart unless-stopped -d image_name:image_tag
docker run -p 8080:8080 --name springboot-hello-0-0-1 -dit --restart unless-stopped -d springboot-hello:0-0-1
Push up a docker image to aws docker registry
1. Login to aws ECR from your computer
aws ecr get-login-password --profile folauk110
2. Build image
docker build -t project .
3. Tag image
docker tag project:latest remote-ecr-url/project:latest
4. Push image to remote registry
docker push remote-ecr-url/project:latest
docker exec -it {container-name} sh
or
docker exec -it {container-name} sh /bin/bash
Pull redis docker image
docker pull redis
Run redis docker container
docker run --name container-redis -dit --restart unless-stopped -p 6379:6379 -d redis
Set keys and values in redis
First, ssh into the redis container.
docker exec -it container-redis sh
Second, use the redis-cli
redis-cli
127.0.0.1:6379> set docker great OK 127.0.0.1:6379> get docker "great" 127.0.0.1:6379> set name objectrocket OK 127.0.0.1:6379> get name "objectrocket"
Install Elasticsearch using docker
Pull elasticsearch docker image
Make sure to use the right version that your code and Kibana is using.
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.1.0
Run elasticsearch docker container
docker run -p 9200:9200 -p 9300:9300 --name elasticsearch -e "discovery.type=single-node" -dit --restart unless-stopped -d docker.elastic.co/elasticsearch/elasticsearch:7.1.0Add Elasticsearch Password
-e ELASTIC_PASSWORD=MagicWord
docker run -p 9200:9200 -p 9300:9300 --name elasticsearch -e "discovery.type=single-node" -e ELASTIC_PASSWORD=DDloadjes233j -dit --restart unless-stopped -d docker.elastic.co/elasticsearch/elasticsearch:7.1.0
Pull kibana docker image
Make sure to use the right version that your code and elasticsearch is using.
docker pull docker.elastic.co/kibana/kibana:7.1.0
Run kibana docker container
docker run --link elasticsearch:elasticsearch -dit --restart unless-stopped --name kibana -p 5601:5601 docker.elastic.co/kibana/kibana:7.1.0
Access kibana locally by going on http://localhost:5601/app/kibana
Add Elasticsearch Password
# add elasticsearch password -e ELASTICSEARCH_PASSWORD=DDloadjes233j Example docker run --link elasticsearch:elasticsearch -e ELASTICSEARCH_PASSWORD=DDloadjes233j -dit --restart unless-stopped --name kibana -p 5601:5601 docker.elastic.co/kibana/kibana:7.1.0
# pull image docker pull docker.elastic.co/logstash/logstash:7.15.0 # run container docker run -dit --restart unless-stopped --name logstash -v ~/pipeline/:/usr/share/logstash/pipeline/ docker.elastic.co/logstash/logstash:7.15.0
docker pull docker.elastic.co/logstash/logstash:7.15.0
Postgresql with docker
#pull image docker pull postgres:12.6 #run docker container docker run --name postgres --restart unless-stopped -p 5432:5432 -e POSTGRES_PASSWORD=test -v /Users/folaukaveinga/Software/postgres/data:/var/lib/postgresql/data -d postgres:12.6
Ubuntu with docker
Sometimes when you want to play or learn linux you want to have a linux OS to play with. With docker you can pull a ubuntu docker image and run it locally.
docker pull ubuntu
Run a ubuntu container
docker run -it ubuntu /bin/bash
You will be in the root folder of the ubuntu container right away after running the above command.
docker container restart [OPTIONS] CONTAINER [CONTAINER...] // -t or --time represents seconds to wait for stop before killing the container docker container restart -t 5 bee0a80b1424
View logs of a docker container
docker logs [OPTIONS] CONTAINER // Follow log output -f or --follow docker logs -f asdfwers