The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Выпуск cистемы управления контейнерной виртуализацией Docker..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск cистемы управления контейнерной виртуализацией Docker..."  +/
Сообщение от opennews (??) on 30-Июн-17, 13:04 
Представлен (https://blog.docker.com/2017/06/announcing-docker-17-06-comm.../) релиз инструментария для управления изолированными Linux-контейнерами Docker 17.06 (http://www.docker.com/), предоставляющего высокоуровневый API для манипуляции контейнерами на уровне изоляции отдельных приложений.  Docker  позволяет, не заботясь о формировании начинки контейнера, запускать произвольные процессы в режиме изоляции и затем переносить и клонировать сформированные для данных процессов контейнеры на другие серверы, беря на себя всю работу по созданию, обслуживанию и сопровождению контейнеров. Инструментарий базируется на применении встроенных в ядро Linux штатных механизмов изоляции на основе пространств имён (namespaces) и групп управления (cgroups). Код Docker написан на языке Go и распространяется (https://github.com/dotcloud/docker/) под лицензией Apache 2.0.  


Docker 17.06 является первым выпуском, который построен на основе проекта Moby (https://www.opennet.ru/opennews/art.shtml?num=46420), реализующего идею построения систем контейнерной изоляции в виде набора связываемых между собой универсальных компонентов. Выпуск также   сформирован в рамках новой нумерации версий (год.месяц) и раздельным формированием релизов Community Edition (CE) и Enterprise Edition (EE).


Другие изменения:

-  Поддержка многоступенчатой сборки (multi-stage), позволяющей формировать более компактные  образы Docker, используя единый Dockerfile. Многоступенчатая сборка основана на использовании промежуточных образов, применяемых для сборки компонентов итогового образа. Например, для создания образа с Java-приложением, можно создать промежуточный образ, включающий Apache Maven и прочие инструменты, необходимые для сборки, но не требуемые для выполнения приложения. При таком разделении при размере промежуточного образа в 620 Мб, размер итогового образа составит всего 145 Мб. Число стадий не  лимитировано, например, для формирования единого образа программы AtSea используется объединение результатов двух промежуточных стадий - первой на базе node.js для сборки приложения ReactJS и второй на базе Maven для компиляции приложения Spring Boot, при этом финальный образ поставляется без Maven и node.js;

-  В команде "docker build" реализован флаг "--build-arg", позволяющий установить переменные для сборки, определённые в файле Dockerfile;

-  Метрики со статистикой о работе управляющего демона теперь могут быть не только запрошены через API, но и переданы плагинам и любым внешним сервисам через обработчик "/metrics";

-  Добавлена поддержка оформления в виде плагинов драйверов для накопления и обработки логов;

-  В разряд стабильный переведена команда "docker service logs", позволяющая упростить отладку сервисов за счёт избавления администратора от ручного сбора логов из отдельных хостов и контейнеров. При выполнении "docker service logs" логи из всех контейнеров, в которых выполняется указанный сервис, будут перенаправлены в текущую консоль;

-  Реализована возможность прикрепления сервисов к внутриузловым сетям (node-local), таким как сети с типами Host, Macvlan, IPVlan и Bridge, а также создаваемым через плагины локального действия. Например, для сети Macvlan  можно создать специфичные  сетевые конфигурации на рабочих узлах и затем создать общую сеть на управляющем узле, которая объединит эти конфигурации;
-  Расширены возможности режима Swarm, предоставляющего средства кластеризации для упакованных в контейнеры приложений. Swarm даёт возможность управлять кластером из нескольких хостов Docker по аналогии с работой с одним виртуальным хостом. В Docker 17.06 добавлен новый объект настройки для режима swarm, который позволяет безопасно передавать информацию о настройках. Во встроенной системе  PKI (public key infrastructure) добавлена команда "docker swarm ca --rotate" для инициирования принудительной ротации ключей. В режиме  swarm реализована возможность обработки событий ("docker events (https://docs.docker.com/engine/reference/commandline/events/)"), позволяющих средствам мониторинга в реальном режиме времени получить информацию о сервисах, узлах и сетях.

URL: https://blog.docker.com/2017/06/announcing-docker-17-06-comm.../
Новость: http://www.opennet.ru/opennews/art.shtml?num=46789

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +2 +/
Сообщение от Аноним (??) on 30-Июн-17, 13:04 
Они вроде в этом релизе планировали добавить цепочку DOCKER_USER в iptables. Добавили, нет, кто-нибудь в курсе?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +/
Сообщение от Справедливость on 30-Июн-17, 16:25 
Да, наконец-то завезли. Какое-то время сидел на test только из-за этого. :)
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +/
Сообщение от Аноним email(??) on 30-Июн-17, 13:29 
Когда уже решат проблему при релоаде правил iptables и применения docker-правил в него?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +3 +/
Сообщение от QuAzI (ok) on 30-Июн-17, 13:30 
Когда оно уже устаканится и там перестанут ломать всё по диагонали?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +9 +/
Сообщение от leap42 (ok) on 30-Июн-17, 17:14 
когда модным будет что-нибудь другое
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

10. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +1 +/
Сообщение от Аноним (??) on 30-Июн-17, 21:22 
Тогда, когда наконец введут адекватный способ узнать id контейнера внутри этого себя самого не через cgroups. Там от версии к версии меняли пути в /proc, народу после обновлений приходилось всё чинить, судя по тому, что я видел на stackoverflow.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

11. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +/
Сообщение от ананас on 30-Июн-17, 23:27 
В этот раз поломали на отличьненько

https://github.com/docker/machine/issues/4156
https://github.com/docker/for-linux/issues/11#issuecomment-3...
https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/...

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

15. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +3 +/
Сообщение от чкчн on 01-Июл-17, 01:33 
чк, чн
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

18. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +/
Сообщение от нах on 01-Июл-17, 09:31 
> В этот раз поломали на отличьненько

жадный неплательщик бабок правильным пацанам - должен страдать (если присмотреться к патчу - поломали только в CE)
if strings.Contains(v1, ceEdition) && !strings.Contains(v2, ceEdition) {
break things and report unrelated trash instead directly showing what's wrong
}

зато на go. Тестами, очевидно, CE не покрыт вообще никак. Пипл схавает и так.


Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

4. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  –1 +/
Сообщение от Аноним (??) on 30-Июн-17, 13:43 
>реализующего идею построения систем контейнерной изоляции в виде набора связываемых между собой универсальных компонентов.

выглядит как превращение в глючного монстра

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +/
Сообщение от Аноним (??) on 30-Июн-17, 15:15 
Выглядит как неспособность автора новости выразить свою мысль.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +1 +/
Сообщение от Dmitry Shurupov (ok) on 30-Июн-17, 18:07 
Чтобы не уходить в заблуждения про монстра… тут писал подробнее о том, что такое Moby и для чего его ввели, на русском языке: https://habrahabr.ru/company/flant/blog/329136/
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

17. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  –1 +/
Сообщение от нах on 01-Июл-17, 09:21 
> выглядит как превращение в глючного монстра

докер не может превратиться в то, чем изначально и был.

  

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

9. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +/
Сообщение от Аноним (??) on 30-Июн-17, 21:19 
Уже пару недель используем "--build-arg", но жаль нет аналога, который будет работать только на пересобираемые строки Dockerfile. Изменение аргумента влечёт за собой полную пересборку всех слоёв, хотя в рамках задачи требуется пересобрать слои только согласно изменённым строкам.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +/
Сообщение от ALex_hha (ok) on 01-Июл-17, 01:06 
> В команде "docker build" реализован флаг "--build-arg", позволяющий установить переменные для сборки, определённые в файле Dockerfile;

не понял, о чем речь, эта опция есть и в 1.12

# docker -v
Docker version 1.12.6, build 78d1802

# docker build --help | grep arg
      --build-arg value         Set build-time variables (default [])

> Изменение аргумента влечёт за собой полную пересборку всех слоёв

нет, не влечет ;)

# docker build --build-arg ARG1=123 .
Sending build context to Docker daemon 8.704 kB
Step 1 : FROM alpine
---> 665ffb03bfae
Step 2 : RUN echo "Add another layer"
---> Using cache
---> 0af0c3c6b816
Step 3 : RUN echo "And another one"
---> Using cache
---> 1478a7423bc0
Step 4 : COPY xvfb-run /tmp
---> Using cache
---> bc1be1f394c9
Step 5 : ARG ARG1
---> Using cache
---> 6627f647b55c
Step 6 : RUN echo "ARG1=${ARG1}"
---> Using cache
---> 622ecbd7b0dc
Successfully built 622ecbd7b0dc

Меняем параметр

# docker build --build-arg ARG1=1234567 .
Sending build context to Docker daemon 8.704 kB
Step 1 : FROM alpine
---> 665ffb03bfae
Step 2 : RUN echo "Add another layer"
---> Using cache
---> 0af0c3c6b816
Step 3 : RUN echo "And another one"
---> Using cache
---> 1478a7423bc0
Step 4 : COPY xvfb-run /tmp
---> Using cache
---> bc1be1f394c9
Step 5 : ARG ARG1
---> Using cache
---> 6627f647b55c
Step 6 : RUN echo "ARG1=${ARG1}"
---> Running in 6cefcfd1c15a
ARG1=1234567
---> b076ab7b6bec
Removing intermediate container 6cefcfd1c15a
Successfully built b076ab7b6bec

и о чудо, первые 4ре слоя не пересобирались

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

20. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +/
Сообщение от Аноним (??) on 01-Июл-17, 14:32 
Только что сам проверил, работает. Неожиданно. Недели полторы назад пересобирался целиком образ, что доставляло много неудобств. Не знаю, что поменялось, но это сильно облегчает жизнь. Спасибо за тест.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

22. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +/
Сообщение от ALex_hha (ok) on 01-Июл-17, 14:45 
> Только что сам проверил, работает. Неожиданно. Недели полторы назад пересобирался целиком
> образ, что доставляло много неудобств. Не знаю, что поменялось, но это
> сильно облегчает жизнь. Спасибо за тест.

Я думаю вам понятно, что пересобираются все слои, которые идут за соотв   ARG параметром. Поэтому местоположение аргумента в докерфайле играет большое значение ;)

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

23. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +/
Сообщение от Аноним (??) on 01-Июл-17, 15:43 
В нашем случае большой роли не играет, это просто переменные окружения http{,s}_proxy, необходимые для установки пакетов на рабочем месте. Для остальных случаев используется динамически формируемое название контейнера (архитектура, дистрибутив, версия, ветка). Таким образом, кэш практически никогда не меняется, если только не добавляется новая зависимость.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

24. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +/
Сообщение от Аноним (??) on 01-Июл-17, 19:09 
Поправка, предыдущий тест не достоверен, я забыл выключить прокси, поэтому ничего не пересобиралось. А из-за зависания ОС при выключении пришлось делать грубое выключение и потёрся пропал кэш и проверять долго... Потом перепроверю, но скорее всего я изначально был прав, пересобирается всё, т.к. аргумент интерпретируется как переменная окружения для всех команд. Видимо явное указание аргумента меняет схему. Попробуйте стереть строчку "ARG ARG1" ради интереса.
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

13. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +/
Сообщение от ALex_hha (ok) on 01-Июл-17, 01:17 
А почему в новости нет реально полезной фичи - Multi-stage builds? Которая позволяет в одном Dockerfile описать несколько контейнеров, а в финальном использовать только нужные папки/файлы из промежуточных

FROM node:latest AS storefront
WORKDIR /usr/src/atsea/app/react-app
COPY react-app/package.json .
RUN npm install
COPY . /usr/src/atsea/app
RUN npm run build

FROM java:8-jdk-alpine
WORKDIR /static
COPY --from=storefront /usr/src/atsea/app/react-app/build/ .
WORKDIR /app

это очень круто и очень не хватало

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +1 +/
Сообщение от Dmitry Shurupov (ok) on 01-Июл-17, 05:09 
В новости ведь написано об этом первым пунктом "других изменений":
> Поддержка многоступенчатой сборки (multi-stage), позволяющей формировать более компактные образы Docker, используя единый Dockerfile.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

19. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  –2 +/
Сообщение от Аноним (??) on 01-Июл-17, 13:46 
Почему именно такой чепухи не хватало? Ви таки нишмагли написать несколько докерфайлов? На мой взгляд, например, эта фича — зарабатывание на плошку риса строками кода.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

21. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +1 +/
Сообщение от ALex_hha (ok) on 01-Июл-17, 14:42 
Вам платят за количество докерфайлов? :D И как вы будете передавать артефакты между контейнерами?
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

14. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +1 +/
Сообщение от ALex_hha (ok) on 01-Июл-17, 01:27 
Ну и в сабже не точность

Вместо
"В команде "docker build" реализован флаг "--build-arg", позволяющий установить переменные для сборки, определённые в файле Dockerfile;"

Должно быть

"В команде "docker build" реализована возможность использовать значение аргументов, передаваемых через опцию "--build-arg" в поле FROM"

Т.е. теперь можно так

ARG ALPINE_VERSION
FROM alpine:${ALPINE_VERSION}
....

$ docker build --build-arg ALPINE_VERSION=3.1 .
Sending build context to Docker daemon  9.728kB
Step 1/3 : ARG ALPINE_VERSION
--->
Step 2/3 : FROM alpine:${ALPINE_VERSION}
3.1: Pulling from library/alpine
5cd2c87bea1e: Pull complete
Digest: sha256:d9477888b78e8c6392e0be8b2e73f8c67e2894ff9d4b8e467d1488fcceec21c8
Status: Downloaded newer image for alpine:3.1
---> 00772ebf9244
Step 3/3 : RUN echo "And another one"
---> Running in 27484f729759
And another one
---> 3eaaac555507
Removing intermediate container 27484f729759
Successfully built 3eaaac555507

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

25. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +/
Сообщение от Аноним (??) on 02-Июл-17, 11:08 
из присутствующих кто-либо делал инсталляции на 5000 контейнеров? какой режим сети выбирали?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

26. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +/
Сообщение от Аноним (??) on 02-Июл-17, 12:42 
Да, выбрали режим поддержки докера группой программистов из 10 человек.
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

27. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +/
Сообщение от Аноним (??) on 02-Июл-17, 17:25 
ты про сам докер, а у меня вопрос в основном по сетевой составляющей. из коробки все ставят оверлей сеть с натом. когда инсталляция разрастается и начинаются проблемы с производительностью все в панике начинают смотреть а чего там тормозит. при этом вменяемых средств трата и мониторинга этого оверлея нет. а с маквлан не все оркестры работают.
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

28. "Выпуск cистемы управления контейнерной виртуализацией Docker..."  +/
Сообщение от leap42 (ok) on 03-Июл-17, 13:21 
а зачем вам нат?
возьмите openvswitch, запилите несколько бриджей, разрулите всё там
ovs приятный
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру