docker Flashcards
Docker
программа для создания и удаления контейнеров. В контейнеры мы можем складывать различные программы или сервисы. Контейнеризация для того чтобы наш код работал на различный os, различных серверах одинаково. Контейнер это оболочка поверх другого приложения или сервиса который гарантирует что оно будет работать в других местах(серверах)
Контейнеры и картинки (container and image)
Images только для чтения. Это как образ на python или nodejs или другом языке программирования. Это код, окружение, библиотеки.
Container это как отдельная операционная система с работающей в ней программой.
Docker позволяет нам запускать эти контейнеры и конфигурировать их не зависимо от ос компьютера.
Volume
Временные файлы (файлы создаваемые контейнером) сохраняются в слое контейнера. Однако после удаления контейнера эти файлы перестанут существовать. Для того чтобы избежать этого и используем Volume
docker pull (node)
Скачать image типа node, postgress, python и так далее
docker images
список всех image на компе
docker ps
список всех контейнеров которые теперь запущены
docker ps -a
список всех контейнеров которые ( и запущенных и нет)
docker run -it node
запуск контейнера в интерактивном режиме (в режиме консоли). .exit - выход из интерактивного режима
docker stop (container name)
Остановить контаинер с id контаинера
docker rm id_conteiner_1 id_conteiner_2
Удалить контеинер с id
docker container prune
Удалить все контаинеры которые уже не используются
docker run -d -p 3000:3000 –name asdfasfd -v volumeName:path_to_volume -e PORT=80 –env-file env_file_path –rm container_id
запустить контейнер id
-d - погружаемся в консоль контейнера
-p изменение порта новый_порт:текущий порт
–name - указать имя контейнера
–rm - когда будет остановлен контейнер он будет автоматически удален
-env-file указывает спуть к своему env файлу
e-указывает дополнительные переменные для докера
-v - путь к volume
docker attach контейнер_айди
погружение в процесс того контейнера который запущеен
docker logs контейнер_айди
Посмотреть логи которые были в этом контейнере
docker rmi image_id
удаление image
docker push maxim97/logsapp:latest
пушим контейнер в удаленный репозиторий
docker tag oldName lastName
переименовать название image
docker image inspect imageId
дает информацию о имадже (дата создания, файлы конфигов, )
docker volume prune
удалить все неиспользуемые volume
docker container prune
удаляет все остановленные контейнеры