Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between docker-compose up and docker-compose start?

People also ask

What is Docker compose start?

docker compose cp. Copy files/folders between a service container and the local filesystem. docker compose create. Creates containers for a service.

What is the difference between docker run and docker start?

Docker start command will start any stopped container. If you used docker create command to create a container, you can start it with this command. Docker run command is a combination of create and start as it creates a new container and starts it immediately.

What is Docker compose up and down?

docker-compose up - start and restart all the services defined in docker-compose.yml. docker-compose down - command will stop running containers, but it also removes the stopped containers as well as any networks that were created. You can take down one step further and add the -v flag to remove all volumes too.

Do I have to run Docker compose up every time?

There is an answer from docker docs. Typically, you want docker-compose up . Use up to start or restart all the services defined in a docker-compose. yml .


docker-compose start
(https://docs.docker.com/compose/reference/start/)

Starts existing containers for a service.

docker-compose up
(https://docs.docker.com/compose/reference/up/)

Builds, (re)creates, starts, and attaches to containers for a service.

Unless they are already running, this command also starts any linked services.

The docker-compose up command aggregates the output of each container (essentially running docker-compose logs -f). When the command exits, all containers are stopped. Running docker-compose up -d starts the containers in the background and leaves them running.

If there are existing containers for a service, and the service’s configuration or image was changed after the container’s creation, docker-compose up picks up the changes by stopping and recreating the containers (preserving mounted volumes). To prevent Compose from picking up changes, use the --no-recreate flag.

For the complete CLI reference:
https://docs.docker.com/compose/reference/


In docker Frequently asked questions this is explained very clearly:

What’s the difference between up, run, and start?

Typically, you want docker-compose up. Use up to start or restart all the services defined in a docker-compose.yml. In the default “attached” mode, you see all the logs from all the containers. In “detached” mode (-d), Compose exits after starting the containers, but the containers continue to run in the background.

The docker-compose run command is for running “one-off” or “adhoc” tasks. It requires the service name you want to run and only starts containers for services that the running service depends on. Use run to run tests or perform an administrative task such as removing or adding data to a data volume container. The run command acts like docker run -ti in that it opens an interactive terminal to the container and returns an exit status matching the exit status of the process in the container.

The docker-compose start command is useful only to restart containers that were previously created, but were stopped. It never creates new containers.