Join our Discord Server
Getting Started

Lab 21: The ‘rm’ Command

Estimated reading: 2 minutes 107 views

The docker-compose rm command helps to Remove stopped containers.

Pre-requisite:

Tested Infrastructure

Platform Number of Instance Reading Time
Play with Docker 1 5 min

Pre-requisite

  • Create an account with DockerHub
  • Open PWD Platform on your browser
  • Click on Add New Instance on the left side of the screen to bring up Alpine OS instance on the right side

Assignment

  • Create a docker-compose.yml file
  • Bringup the containers
  • Stop the container of a single service
  • Removing container of stopped service
  • Stopping and Removing container of a service

Create a docker-compose.yml file

version: '3.7'
services:
  #Nginx Service
   webserver:
     image: nginx:alpine
     container_name: Nginx
     restart: unless-stopped
     ports:
       - "80:80"
       - "443:443"
   dbserver:
     image: mysql:5.7
     container_name: Mysqldb
     restart: unless-stopped
     ports:
       - "3306:3306"
     environment:
       MYSQL_ROOT_PASSWORD: Pa$$w0rd
       MYSQL_USER: test
       MYSQL_PASSWORD: Pa$$w0rd123
       MYSQL_DATABASE: test 
     volumes:
       - db_data:/var/lib/mysql
volumes:
  db_data:

Bringup the containers

$ docker-compose up -d

Checking container status

$  docker-compose ps
 Name               Command             State                    Ports                  
----------------------------------------------------------------------------------------
Mysqldb   docker-entrypoint.sh mysqld   Up      0.0.0.0:3306->3306/tcp, 33060/tcp       
Nginx     nginx -g daemon off;          Up      0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp

Listout the services

$  docker-compose ps --services
webserver
dbserver

Stop the container of a single service

$  docker-compose stop webserver
Stopping Nginx ... done

Checking container status

$  docker-compose ps
 Name               Command             State                  Ports              
----------------------------------------------------------------------------------
Mysqldb   docker-entrypoint.sh mysqld   Up       0.0.0.0:3306->3306/tcp, 33060/tcp
Nginx     nginx -g daemon off;          Exit 0                               

Removing container of stopped service

$ docker-compose rm
Going to remove Nginx
Are you sure? [yN] y
Removing Nginx ... done

We can use -f–force to skip asing confirmation to remove container.

Checking container status

$ docker-compose ps
 Name               Command             State                 Ports              
---------------------------------------------------------------------------------
Mysqldb   docker-entrypoint.sh mysqld   Up      0.0.0.0:3306->3306/tcp, 33060/tcp

Stopping and Removing container of a service

$  docker-compose rm -fs dbserver
Stopping Mysqldb ... done
Going to remove Mysqldb
Removing Mysqldb ... done

NOTE: By default, anonymous volumes attached to containers are not removed. You can override this with -v.

Share this Doc

Lab 21: The ‘rm’ Command

Or copy link

CONTENTS
Join our Discord Server