В учебнике показано:
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED
1fa4ab2cf395 friendlyhello "python app.py" 28 seconds ago
Вы не добавили имя (тег) в свой контейнер, поэтому для его остановки необходимо использовать его идентификатор:
docker container stop 1fa4ab2cf395
friendlyhello
- это имя изображения , а не контейнера.
См. docker run --name
, чтобы дать ему имя.
Если у вас нет имени, вы получите идентификатор с docker ps -a
ОП добавляет:
с помощью docker stop 8e008ebf3ad7 его нет в списке с помощью: docker container ls buts остается в списке с помощью: docker ps -a
docker stop 8e008ebf3ad7
8e008ebf3ad7
docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
5227976cb9bb friendlyhello "python app.py" About an hour ago Up About an hour 0.0.0.0:4001->80/tcp SOMENAME
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS
PORTS NAMES
5227976cb9bb friendlyhello "python app.py" About an hour ago Up About an hour
0.0.0.0:4001->80/tcp SOMENAME
8e008ebf3ad7 friendlyhello "python app.py" 6 hours ago Exited (137) About an hour ago
Ожидается: остановка переведет контейнер в состояние «Exited», что удобно, когда вы хотите отладить контейнер, который остановился без вашего согласия!
Затем вы можете сделать docker container rm <ID>
, чтобы извлечь его из списка docker ps -a
.
Обратите внимание, что если бы вы запустили свой контейнер с docker run --rm ...
, остановка остановила бы , а удалил (удалил) контейнер напрямую.