0% found this document useful (0 votes)
23 views7 pages

Docker Commands

Uploaded by

mohanvaidya1148
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views7 pages

Docker Commands

Uploaded by

mohanvaidya1148
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Docker

general commands
get docker info

> docker info

commands for managing images


get the list of images

> docker image ls

pull an image from docker hub

> docker image pull <image name>

# pull hello world from docker hub


> docker image pull hello-world

get information about an image

> docker image inspect <image name>

remove an image from computer

> docker image rm <image name>

create a new image from dockerfile

# -t: tag (image name)


# . here means the Dockerfile exists in the current directory
> docker image build -t myimage .

delete empty/unreferenced images

> docker image prune


container commands
get the list of running containers

> docker container ls

get the list of all containers (running and stopped)

> docker container ls -a

run a new container

> docker container run <image name>

# run a container from hello-world image


> docker container run hello-world

# starts the container in detached mode


> docker container run -d httpd

# --name sets the name to the container


> docker container run --name mycontainer httpd

# run the container in interactive mode


# you can now interact with the container
> docker container run -i httpd

# get the container attached to the terminal to


# send the commands which will run inside the container
> docker container run -t httpd

# forward the port


# 8080: source port (machine)
# 80 : destination port (container)
> docker container run -p 8080:80 <container id/name>

stop a running container

> docker container stop <container id/name>

start a new container

> docker container start <container id/name>


remove a container

# remove a stopped container


> docker container rm <container id/name>

# remove a running container


> docker container rm --force <container id/name>

get the details of a container

> docker container inspect <container id/name>

execute any command inside a container

> docker container exec <container id/name> <command>

# run date command inside a container (with name myubuntu)


> docker container exec myubuntu date

# get the terminal of running container


# container start a new process for bash
# when this new process exits the container does not exit
> docker container exec -it myubuntu bash

attach to the container's main process

# attaches to the main process of the container


# if the main process exits, the container also gets exited
> docker container attach <container id/name>

check the logs from container

# get recent logs


> docker container logs <container id/name>

# get the logs as generated (continuous)


> docker container logs -f <container id/name>

exercises
execute date command inside a httpd container
# create a httpd container
> docker container run -itd --name myhttpd httpd

# execute the date command


> docker container exec myhttpd date

# remove the container


> docker container rm --force myhttpd

start a website container from a custom image

> docker container rm --force mywebsite

> docker image build -t myimage .

> docker container run -itd -p 8080:80 --name mywebsite myimage

start a mysql container

> docker container run -itd -p 3306:3306 --name mydb -e


MYSQL_ROOT_PASSWORD=root mysql

start a backend server (running express) in a container

# create your image from node


FROM node

# copy all the contents within this directory to the container


COPY . .

# expose the the port 4000


EXPOSE 4000

# start the server when container gets created


CMD node server.js

> docker container rm --force myserver

> docker image build -t myserver .

> docker container run -itd -p 4000:4000 --name myserver myserver


docker swarm
create a new swarm

> docker swarm init --advertise-addr <ip address of manager>

add a new node in swarm

> docker swarm join --token <token> <ip address:port>

get the token to add new manager/worker

# this token will be used to add a manager to the swarm


> docker swarm join-token manager

# this token will be used to add a worker to the swarm


> docker swarm join-token worker

to remove a node from swarm

# execute this command from the machine that you want to remove
> docker swarm leave

to take the swarm down

# execute this command from manager node


> docker swarm leave --force

docker node commands


get the list of nodes

> docker node ls

remove a node

> docker node rm <node name>


get all the details of a selected node

> docker node inspect <node name>

docker service commands


create a new service

> docker service create <image name>

# create a service instance with name


> docker service create --name <service name> <image name>

# create no of replicas while creating the service


> docker service create --replicas <no> <image name>

# expose the port number for outside world to connect


> docker service create -p <source port>:<destination port> <no>
<image name>

get the list of services

> docker service ls

remove a service

> docker service rm <service name>

get service details

> docker service inspect <service name>

get list of containers / replicas created by service

> docker service ps <service name>

scale (up or down) the service

> docker service scale <service name> = <replicas>

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy