Link Search Menu Expand Document

Основная информация

Как использовать Django, PostgreSQL и Docker

Неплохое руководство на Английском языке с примером создания суперпользователя в контейнере

Оригинал стать про установку Django в Docker

Видео про установку Django в Docker

Основные команды Docker

Неплохое руководство

КомандаОписание
docker psПосмотреть все запущенные образы
docker build -t web-hello .Создание контейнера
docker run --rm -p 8080:8080 web-helloВызов контейнера. Параметр -rm указывает на то что контейнер должен удалиться после работы
docker run --rm -p 8080:8080 -e TZ=Europe/Moscow -v /Users/philip/PycharmProjects/docker-web-hello-world/resources:/usr/src/app/resources web-helloВызов контейнера с монтированием локальной папки
docker vloume create NAMEСоздаем Volume для хранения данных
docker run --rm -p 8080:8080 -e TZ=Europe/Moscow -v web:/usr/src/app/resources web-helloВызов контейнера с монтированием локальной папки к созданному volume
docker rm -f $(docker ps -a -q)Удалить все контейнеры
docker exec -i -t 04b9b377f8aa bashПодключение к существующему контейнеру с ID 04b9b377f8aa

Docker Images

КомандаОписание
docker images -aВывести список всех доступных образов
docker rmi 768307cdb962Удалить образ с ID 768307cdb962
docker rmi $(docker images -a -q)Удалить все образы из системы

Docker Volumes

КомандаОписание
docker volume lsВывпсти список всех Volume
docker volume rm $(docker volume ls -q)Удалить вссе созданные Volume

Docker Hub

КомандаОписание
docker build -t philipspb/web-hello .Созданение репозитория для docker hub
docker loginПеред пушкм в репозиторий необходимо в него залогиниться
docker push philipspb/web-helloВыгрузка нашего образа на docker hub

Docker Compose

Это надстройка над Docker для того чтобы не указывать всю кучу параметров в docker run. Все оформляется в аккуратный файл.

Пример файла docker-compose.yaml

version: "3"

volume:
# Здесь определяем какие будем использовать Volume. 
# Если их не будет, Docker их создаст
	mongodb_vlolume:
	
services:
	youtube_statistic:
# Указываем из какой папки собирать образ
	build: StaticManager/
# Данны параметр означает что если мы перезапустим docker,
# то docker автоматически запустит все указанные контейнеры
	restart: always
	environment:
		- TZ=Europe/Moscow
#	///
# Тут у нас ссылка на контейнер с именем mongodb
# Как только контейнер mongodb запустится, к нему можно будет обратиться по этому имени
# Порты мы не указываем, только лишь другой контейнер в рамках этого запуска сможет получить
# к нему доступ
		- MONGO_DB_ADDR=mongodb
		- MONGO_DB_PORT=27017
#	///

web_service:
	build: WebService/
	restart: always

mongodb:
# Всесто параметра 'build' указываем параметр 'image' и просим загрузить 'последний' образ
	image: mongo:latest
	volumes: 
		mongodb_volume:/data/db
	restart: always
КомандаОписание
docker-compose buildСобираем образ
docker-compose up -dЗапускаем контейнер

Пример файла docker-compose.yaml для созданного образа:

version: "3"

services:
        hello:
                image: philipspb/web-hello
                restart: always
                ports:
                        - 8080:8080
                environment:
                        - TZ=Europe/Moscow