Docker
VIRTUAL MACHINES | CONTAINERS |
Image may be NSFW. Clik here to view. ![]() | Image may be NSFW. Clik here to view. ![]() |
Virtual machines include the application, the necessary binaries and libraries, and an entire guest operating system -- all of which can amount to tens of GBs. | Containers include the application and all of its dependencies --but share the kernel with other containers, running as isolated processes in user space on the host operating system. Docker containers are not tied to any specific infrastructure: they run on any computer, on any infrastructure, and in any cloud. |
Создание образа
$ docker build -t image-name .
- Где . папка, где расположен Dockerfile
- container-name - название создаваемого контейнера
Вывод списка образов
$ docker images
Запуск образа
$ docker run -d-p80:80-t image-name
Список контейнеров
$ docker ps-a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7d0eb5cd3b3b teratek "/usr/bin/supervisord" About a minute ago Exited (2) About a minute ago zen_ride 9e6066c2fe96 teratek "/usr/bin/supervisord"4 minutes ago Created
Остановка контейнера
$ docker stop 7d0eb5cd3b3b
Удаление контейнера
$ docker rm 7d0eb5cd3b3b
Dockerfile
- FROM — указывает название образа (image), который будет взят за основу.
- ENV — устанавливает переменную среды
- RUN — запустить команду в контейнере (все команды исполняются с полными правами в пределах контейнера)
- ADD — добавить файл в контейнер
- VOLUME — указать монтируемые директории (их можно монтировать на хост машину или на другие контейнеры)
- EXPOSE — указать транслируемые порты (их можно транслировать на хост машину или на другие контейнеры)
- CMD — запустить процесс (это и будет процесс, вокруг которого построен контейнер)