Various package and software management applications require manual input for execution confirmation by default. This confirmation is usually required when installing, updating, or removing programs and packages. General consent can be given to execute the command without manual input.
Suppose a package manager invocation is part of a script that is executed automatically, and non-interactive mode is not enabled. Then, execution is aborted because there is no confirming manual input. As a result, instructions, such as installation or update of packages, cannot be performed in an automated way. This applies, among others, to the package manager used in Debian-based systems, Advanced Package Tool (APT).
RUN apt-get install ca-certificates RUN aptitude install ca-certificates RUN apt install ca-certificates
Here each line represents a package installation command command for the most popular package managers. Each of them is trying to perform an installation in interactive mode, it will wait for prompt that will never come, so it will result in aborted execution.
RUN apt-get -y install ca-certificates RUN aptitude -y install ca-certificates RUN apt -y install ca-certificates
Here in each line we added the option -y, it will assume yes to all prompts and continue execution.
If the -y flag is set, no manual input is expected, and the package manager can run non-interactively. For apt and
apt-get, the long versions --yes and --assume-yes also exist. For aptitude, the long version
--assume-yes exists.