Инструменты пользователя

Инструменты сайта


server:docker

Docker

Установка

After installing Docker:

A user needs to be added to the docker group.

$> sudo usermod -aG docker

The docker daemon needs to be started

$> sudo service docker start

You can set the daemon to start at boot

$> sudo chkconfig docker on

You can verify the docker service is running

$> service docker status

And one last final check

$> docker run hello-world

Запуск демона

$ sudo service docker start
service docker start

Проверяем что всё получилось

$ sudo docker run hello-world

Автозапуск

sudo systemctl enable docker

Команды

docker psПоказывает все запущенные контейнеры
docker imagesСписок образов
docker commit <id контейнера> <имя образа> Закоммитить контейнер в образ
docker save имя_образа > ~/transfer.tarСохранить контейнер в файл
docker load < /tmp/transfer.tar извлечь контейнер из файла
docker run -it <имя образа>Запустить контейнер
docker run -itd <имя образа>Запустить контейнер как демон
docker exec -it <id контейнера> bashПодключиться к контейнеру по ssh
docker rmi -f <id контейнера>Удалить Image
docker history ubuntu-nginxИстория
docker build -t <Имя образа> <путь папке скриптов докера>Создаёт образ из скрипта

Скрипт докера

FROM указывает название образа (image), который будет взят за основу.
ENV устанавливает переменную среды
RUN запустить команду в контейнере (все команды исполняются с полными правами в пределах контейнера)
ADD добавить файл в контейнер
VOLUME указать монтируемые директории (их можно монтировать на хост машину или на другие контейнеры)
EXPOSE указать транслируемые порты (их можно транслировать на хост машину или на другие контейнеры)
CMD запустить процесс (это и будет процесс, вокруг которого построен контейнер)

Docker compose

Конфиг

buildКомпиляет образ
devicesПробрасывает девайсы
depends_onЗависимости
exposeПробрасывает порт наружу для других сервисов, не затрагивая основной сервер
extendПотомок от лругого девайса другого конфига
linksСсылки на другие контейнеры
external_linksВнешняя ссылка на другой конфиг наружу
extra_hostsДобавляет описание хостов в конфиг
imageОбраз кторой можно подтянуть из внешнего репозитория

Готовые тома

php

nginx

front:
    image: nginx
    ports:
        - "8081:80"
    links:
        - "engine:engine"
    volumes:
        - "./source:/home/docker:ro"
        - "./docker/front/default.conf:/etc/nginx/conf.d/default.conf:ro"

mysql

db:
    image: mysql:5.7
    ports:
        - "1306:3306"
    environment:
        - "MYSQL_ROOT_PASSWORD=your_root_password"
        - "MYSQL_USER=your_user"
        - "MYSQL_PASSWORD=your_user_password"
        - "MYSQL_DATABASE=your_database_name"

Postgress

Node.js

Ссылки

/srv/source/data/pages/server/docker.txt · Последние изменения: 2018/04/10 01:01 (внешнее изменение)