С docker run
вы создаете контейнер из изображения ubuntu
. Контейнер имеет имя ae78cd536ddf
(в вашем случае). Вы можете проверить изображения и контейнеры с помощью docker ps -a
и docker images
соответственно.
Каждый раз, когда вы запускаете docker run
, создается новый контейнер. При использовании docker run --name Somename
вы вынуждаете контейнер иметь имя Somename
, что мешает вам создать другой контейнер с тем же именем.
Изображения неизменяемы, что означает, что вы не можете их изменить. Поэтому, когда вы изменяете что-то в запущенном контейнере, изображение остается прежним, и вы можете создавать больше контейнеров с одного и того же изображения.
Итак, после того, как вы остановили контейнер (docker stop
, выйдите из контейнеризованного bash или просто перезагрузитесь), вы можете запустить docker start ae78cd536ddf
, чтобы перезагрузить его. Но он будет работать в фоновом режиме, и у вас не будет bash (отметьте docker ps
, чтобы увидеть, как он работает). Теперь вам просто нужен bash: docker exec -it ae78cd536ddf /bin/bash
выполнит bash в контейнере, который вы начали раньше.
Просто записка о создании изображений. Возможно, вам захочется установить необходимое вам программное обеспечение (лично я люблю vim, htop, ...), а затем docker commit
контейнер. Это создаст новое изображение, которое вы можете увидеть в docker images
. Теперь вы можете запускать контейнеры с этого изображения, заменив ubuntu
на ваше имя изображения.
Чтобы получить более воспроизводимые сборки (например, при использовании CI), вы можете создать Dockerfile и запустить docker build
.