DEV Community

Cover image for Docker command for beginners
Zahir Din
Zahir Din

Posted on

Docker command for beginners

Create container

docker create <container_image>
Enter fullscreen mode Exit fullscreen mode

Remove image

docker rmi <container_image>
Enter fullscreen mode Exit fullscreen mode

Start container (start container without output)

docker start <container_id>
Enter fullscreen mode Exit fullscreen mode

Start container (start container with output)

docker start -a <container_id>
Enter fullscreen mode Exit fullscreen mode

Run container (install, create and start container)

docker run <container_image> <command_when_start>
Enter fullscreen mode Exit fullscreen mode
# -p is port mapping <local_browsing_port>:<container_running_port>
docker run -p 8000:8080 <container_image>
Enter fullscreen mode Exit fullscreen mode
# -d is to executed in background
docker run -d <container_image>
Enter fullscreen mode Exit fullscreen mode
# -p <host>:<container>
# -v <not_included> -v <host_path>:<container_path>
docker run -it -p 8080:80 -v /app/node_modules -v $(pwd):/app <container_id>
Enter fullscreen mode Exit fullscreen mode

List running container

docker ps
Enter fullscreen mode Exit fullscreen mode

List all container

docker ps -a
Enter fullscreen mode Exit fullscreen mode

Removing stopped container

docker system prune
Enter fullscreen mode Exit fullscreen mode

Get log for certain container

docker logs <container_id>
Enter fullscreen mode Exit fullscreen mode

Stop container (it will wait maybe 10 sec before it kill it)

docker stop <container_id>
Enter fullscreen mode Exit fullscreen mode

Kill container (kill container immediately)

docker kill <container_id>
Enter fullscreen mode Exit fullscreen mode

Execute an additional command in container

# -i allow to enter in text (input) to containers terminal
# -t show a nice formatted input (eg: root@ip_address ~%  )
# -it is combined flag between -i and -t
docker exec -it <container_id> <command_to_execute>
Enter fullscreen mode Exit fullscreen mode

Getting full access or command prompt terminal in container

# name_of_programs (eg: bash, powershell, zsh, sh)
docker exec -it <container_id> <name_of_program>
Enter fullscreen mode Exit fullscreen mode

Run docker file / Create docker image

# go to Dockerfile/project directory
docker build <Dockerfile directory>
Enter fullscreen mode Exit fullscreen mode
# create docker image with name
docker build -t <my_docker_id>/<project>:<version> <Dockerfile directory>
Enter fullscreen mode Exit fullscreen mode
# -f is for custom filename other than Dockerfile
docker build -f <filename> <Dockerfile directory>
Enter fullscreen mode Exit fullscreen mode

Create docker image from container

# -c is to set default command (in array) when image is running
docker commit -c "CMD ['ls', '-lah', '/var/www/html']" <container_id>
Enter fullscreen mode Exit fullscreen mode

Run docker compose

docker-compose up
Enter fullscreen mode Exit fullscreen mode
# —build is to build/rebuild containers
docker-compose up —build
Enter fullscreen mode Exit fullscreen mode
# -d is to executed in background
docker-compose up -d
Enter fullscreen mode Exit fullscreen mode

Stop docker compose

docker-compose down
Enter fullscreen mode Exit fullscreen mode

List container in project with docker-compose

docker-compose ps
Enter fullscreen mode Exit fullscreen mode

Top comments (0)