11
Ребята, нужа помощь
11
https://stepik.org/lesson/35907/step/9
11
При запуске контейнера открывается nano, файл автоматически сохраняется в файловую систему хоста, даже если при запуске опции монтирования не указаны
11
чет не догоняю ,как в Dockerfile примантировать директорию хоста, чтобы туда сохранялись изменения
Aleksey
Aleksey
уже прям со второго сентября сразу докер и весь этот жескачь ?
Nklya
Оу, докер добрался до степика
Ruslan
До чего?
Nklya
Stepic.org
Aleksey
а где там монетизация ?
Igor
нету, на гранты живут
Anonymous
Aleksey
господа, а можно как то достать из Image несколько папок ?
Aleksey
вижу что есть docker save
Aleksey
но выглядит ак будто он целиком
🏳️ Phil
Вытащи из контейнера
Aleksey
но у меня нету контейнера :)
Aleksey
только имидж сбилдился
🏳️ Phil
сделай. унаследуй и сделай синтетический
Aleksey
в нем 3 диры которые я объявляю статикой и хочу достать
Aleksey
docker run -d myimage sleep 60
Aleksey
чувствую ся не очень
Gleb
Aleksey
с контейнтера. не с имиджа
Aleksey
на самом деле я так понимаю задача свелась не к докеру а к фильтрации tar архива на лету
Aleksey
да да
🏳️ Phil
Можно ещё просто залезть в слой руками и слить
🏳️ Phil
Кстати, а пробовали docker volum шарить между контейнерами? Там забавный сайд эффект
Aleksey
теперь я дофига знаю про tar. и оно вполне может работать.
docker image save 516b2fdc3ca5 | tar -O -xf - '*/layer.tar' | tar -mix dir_to_extract dir_to_extract2
Aleksey
увы запаковать сразу с stdin низя
Gleb
мощно, заберу в заметки к себе, спасибо
Aleksey
взависимости от дефолтов оси(?) может получится что надо так вот
docker image save 516b2fdc3ca5 | tar --wildcards -O -xf - '*/layer.tar' | tar -mix dir_to_extract dir_to_extract2
Konstantin
Коллеги, добрый день!
Konstantin
Можете вкратце рассказать, каких профессионалов собрала данная группа ? что обсуждаете ? что ищите ?
Sergei
внезапно
Sergei
Nklya
Ага, мы много ищите
Aleksey
Ruslan
камрады, у меня локально есть пара файликов и пара каталогов, как закинуть их правильно в образ, всё попадает в образ в виде пачки файлов без каталогов
Oleg
Мне с имиджа на хост
можно одной командой запустить контейнер подмонтированным вольюмом и командой копирования в ентрипоинт
Aleksey
Я уже разрулил.
Aleksey
Но запускать контейнер не хотелось
Oleg
Oleg
zigmund@bug:~> docker run -v /tmp:/4transfer --rm --entrypoint /bin/cp ubuntu /etc/hostname /4transfer/
zigmund@bug:~> cat /tmp/hostname
9148e54a5df0
Oleg
запустился, скопировал, удалился
Aleksey
Ну вообще потому что не хочу. Мне это показалось кривым.
Oleg
ну хз
мы активно используем такой подход для автоматических сборок
например, какой-нить микросервис на ГО
запустился контейнер с предустановленым окружением, стянулись все зависимости, собрался бинарник
на хосте на выходе только бинарник и чистота
Aleksey
Для такого есть ci. но докер не умеет вольюмы при билде. Что логично
Aleksey
Имидж я один фиг собираю. И внутри получатся ещё и статика для nginx
Aleksey
Вот эту статику я и достаю
Aleksey
Ее там много
Oleg
это и есть у нас CI
просто необходимо большое количество разных окружений (go, php, python, node.js) плюс разных версий
Oleg
Oleg
сначала собирается ruby, который генерит к тому же статику
потом через multistage собирается образ с nginx и статикой из первого образа
Aleksey
Ну ок. Теперь ее можно доставать без запуска контейнера. Имхо отличная новость
Oleg
как-то так
# Minimal Docker version >= 17.05
ARG app_image
ARG base_image=nginx:1.13.3-alpine
# Source image
FROM $app_image as app
# Nginx build
FROM $base_image
ENV TIMEZONE="Asia/Almaty"
RUN apk add --update tzdata curl && \
cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime && \
echo "${TIMEZONE}" > /etc/timezone && \
rm -rf /var/cache/apk/* && \
rm /etc/nginx/conf.d/default.conf
COPY docker/config/nginx /etc/nginx
HEALTHCHECK --interval=30s --timeout=10s --retries=3 \
CMD curl -s --fail http://localhost/robots.txt || exit 1
COPY --from=app /usr/src/app/public /var/www/bla/public
Aleksey
дак ну мультистейдж же про другое совсем
Oleg
мультистейдж про разное)
Aleksey
мультистейдж это же docker-ci
Oleg
одно из применений
Dmytro
Доброго времени суток, господа
Dmytro
Dmytro
не подскажете в чем может быть дело?
Komov
А вместо id по имени заходит?
Dmytro
на скрине сначала пробовал по имени
Dmytro
не помогло
Dmytro
глянул id
Dmytro
тоже не помогло
Denis
он мёртв
Dmytro
повис где-то, но не упал?
Denis
скорее всего он в D
Denis
посмотрите через ps статус процесса
Dmytro
не понял как именно
Dmytro
перезапустил контейнер, тоже самое
Denis
ps axuf | grep elastics
Dmytro
я не могу к контейнеру подключиться