There are mainly 4 different restart policies.
"no"
It means never attempt to restart the container if it stops or crashes.
All we have to do is to add restart: 'no'
in our docker-compose.yml file.
Remember to give single quotes
'no'
because in yaml file, if we giveno
without quotes, it is treated as false.
Sample code example
version: '3'
services:
redis-server:
image: 'redis'
node-app:
restart: 'no'
build: .
ports:
- "4001:8081"
always
If our container stops for any reason, always attempt to restart the stopped container.
All we have to do is to add restart: always
in docker-compose.yml file.
Sample code example
version: '3'
services:
redis-server:
image: 'redis'
node-app:
restart: always
build: .
ports:
- "4001:8081"
on-failure
Only restart the container, if it stops with an error code.
Error codes are non zero codes like 1, 2, 3, 4,....
Code 0 indicate there are no error and process is exited.
All we have to do is add restart: on-failure
to our docker-compose.yml file.
Sample code example
version: '3'
services:
redis-server:
image: 'redis'
node-app:
restart: on-failure
build: .
ports:
- "4001:8081"
unless-stopped
Always restart unless the developers forcibly stop the process.
All we have to do is add restart: unless-stopped
in docker-compose.yml file.
Sample code example
version: '3'
services:
redis-server:
image: 'redis'
node-app:
restart: unless-stopped
build: .
ports:
- "4001:8081"
Note : Always run docker-compose up --build
after making any changes to the .yml file, or any project directory file.
Rohithv07 / Docker
My Workplay on Docker and Kubernetes. Ref : https://github.com/Rohithv07/DockerCasts
Docker and Kubernetes
My Workplay on docker
Commands to remember :
-
docker run
:- runs a command in a new container .docker run = docker create + docker start
-
docker run -p <localhostport>:<containerport> <imagename/id>
:- running on ports -
docker ps
:- to list all the running containers -
docker ps --all
:- list all the container ever created -
docker system prune
:- to delete all the containers ever created along with some other properties -
docker logs <container-id>
:- to get the logs -
docker start
:- start stopped container -
docker stop
:- stop the container - gets a sigterm message - terminate signal -
docker kill
:- kills the container or stops the container instantly -
docker exec -it <container id> <command>
:- Execute an additional command in container.-it
makes us to provide the input.-it equivalent to -i -t
-
docker exec -it <container id> sh
:- provides access to the terminal…
Top comments (2)
Thank you. Helped me a lot
Note that the default value is
no
, you should probably change it tounless-stopped
.