Ldar
16.07.2019
12:32:23
George
16.07.2019
12:32:29
может быть Вы путаете с передачей $ENV с хоста?
docker run blablabla $HERE
Maxim
16.07.2019
12:32:46
Документация, раздел ENV, перечислены директивы в которых возможно использовать ENV и в этом списке нет CMD, под списком объяснение причин по которым это невозможно
Google
George
16.07.2019
12:32:51
$HERE - будет развернуто в пустоту, т.к. его разворачивать будет интерпретатор на хосте
TL;DR
Maxim
16.07.2019
12:34:04
George
16.07.2019
12:34:20
Maxim
16.07.2019
12:35:04
George
16.07.2019
12:35:39
я про конкретный кейс сказал
Maxim
16.07.2019
12:35:45
George
16.07.2019
12:35:59
если сделать docker run blablabla $HERE в интепретаторе ) то $HERE - вычисляется в хостовом интерпретаторе
для некоторых это нежданчик
Maxim
16.07.2019
12:36:40
George
16.07.2019
12:36:53
ну, да. Хорошо. Возможно там действительно есть разница между ["sh","-c"] и шелл-формой
Google
ALTracer
16.07.2019
12:37:19
Нормально сделал?
FROM jenkinsci/jnlp-slave
MAINTAINER ALTracer
USER root
RUN apt-get update && apt-get install --no-install-recommends -y \
make \
libc6-i386 lib32stdc++6 lib32gcc1 lib32z1 \
libqtcore4 libboost-thread1.62.0 libboost-filesystem1.62.0 libboost-locale1.62.0 libboost-regex1.62.0
USER jenkins
COPY opt/Scripts /opt/Scripts
ADD gcc-linaro-arm-linux-gnueabihf.tar.bz2 opt-arm-Qt_sqlite.tar.xz opt-arm-lib.tar.xz opt-arm-include.tar.xz /opt/arm/
RUN ln -sv /opt/arm/gcc-linaro-arm-linux-gnueabihf-4.7-2012.12-20121214_linux /opt/arm/gcc-linaro-arm-linux-gnueabihf && ln -sv /opt/Scripts /home/jenkins/Scripts
Maxim
16.07.2019
12:37:23
George
16.07.2019
12:37:30
она через одно место написано
Maxim
16.07.2019
12:37:36
docker build --build-arg DEPLOY_SCRIPT="start:staging" .
ALTracer
16.07.2019
12:37:58
одинарные кавычки?
George
16.07.2019
12:38:59
@rttrttrtt я даже спорить не буду )
это не самый интересный вопрос для обсуждения, чесслово
Maxim
16.07.2019
12:39:28
она через одно место написано
И действительно, если смотреть под тем углом под которым вы смотрите сложно что то представить что было бы написано не через одно место ) поэтому вам наверное лучше не читать документацию, а то научитесь ещё плохому
ALTracer
16.07.2019
12:39:34
George
16.07.2019
12:40:20
@rttrttrtt заканчивайте ) а то я попрошу Вас и тут забанить
Maxim
16.07.2019
12:41:10
После ARG присвойте значение переменной в ENV и только потом RUN echo $ENV
Maxim
16.07.2019
12:42:38
Maxim
16.07.2019
12:43:03
George
16.07.2019
12:43:32
уважительно - вряд ли
Maxim
16.07.2019
12:43:59
ENV DEPLOY_SCRIPT $DEPLOY_SCRIPT_ARG
уважительно - вряд ли
Вы очень ранимый, молодой человек, который не принимает критику в любом её проявлении, постоянно доказываете себе что вы правы в любом вопросе, что с вас взять? Что бы вам не сказали вы видите только "неуважение к себе", а ведь вам помогают исправить неточности в ваших знаниях, причем денег за это не берут, а стоило бы на самом деле
Maxim
16.07.2019
12:51:29
George
16.07.2019
12:52:35
FROM alpine
ENV ARG="olo"
RUN apk update && apk add bash
ENTRYPOINT ["/bin/bash"]
CMD ["-c", "echo $ARG"]
gaal@linux-x1:~/test-alpine> docker run --rm olo
olo
Google
George
16.07.2019
12:53:03
@rttrttrtt вот что я делаю не так ? И, да, у меня видимо особенный докер
просто Вы опять корчитесь строить из себя умного, а толку ноль
попробуй, запусти, узнаешь. Если не получится - не беда, можно подправить CMD
Maxim
16.07.2019
12:54:25
George
16.07.2019
12:54:43
эта документация НЕ дает ответа на вопрос как решить конкретную проблему
хоть учитайте ее до дыр
Maxim
16.07.2019
12:55:48
Maxim
16.07.2019
12:55:57
George
16.07.2019
12:56:19
я не гарантирую 100% решения проблемы и какой-либо точности - скорее направление как можно решить вопрос
про это же - мультистейдж билд и отсылка к возможности собрать несколько разных образов с запеченной внутрь жестко командой (без ENV в CMD)
Maxim
16.07.2019
12:57:11
echo not found?
George
16.07.2019
12:57:32
верно
потому что там echo не нужно, кмк
Кирилл
16.07.2019
12:57:39
Меня не слышат - это минус, но и не гонят - это плюс! )
George
16.07.2019
12:57:48
Maxim
16.07.2019
12:57:56
George
16.07.2019
12:57:57
у нас тут разбор межличностных отношений с Максимом, сорри
Кирилл
16.07.2019
12:58:22
Maxim
16.07.2019
12:59:14
это был примерный шаблон
Это был неправильный шаблон, если мягко сказать - вы вводите в заблуждение других участников встречи постоянно выкрикивая с парты неверные решения )
Google
Maxim
16.07.2019
13:01:24
Кирилл
16.07.2019
13:02:04
нет... спасибо за вопрос мил-человек... )
Maxim
16.07.2019
13:02:52
George
16.07.2019
13:03:17
как видишь, живых пользователей swarm'а не так много. Такое ощущение, что это люди из альтернативной реальности, как некоторые коллеги
Кирилл
16.07.2019
13:04:03
это отсыл на мануал из книги перемен о том как ротировать значение в docker config
в моем случае есть traefik.toml и он лежит в djcker config... удобно так как stack в модал глобал... извините, что переключаюсь в раскладке...
Maxim
16.07.2019
13:06:41
@rttrttrtt увы не получается пропихнуть в CMD
Кирилл
16.07.2019
13:06:48
так вот... в docker config я могу задать версию или добавить время к существующему значению и проапдейтить сервис...
не нашел описания или примера для stack... может быть кто сталкивался или поделится ссылок...
George
16.07.2019
13:12:38
@rttrttrtt увы не получается пропихнуть в CMD
там есть зависимость от ENTRYPOINT. Условно - у тебя энтрипойнт - sh, тогда не работает. Если bash ( я спецом для тебя выше докерфайл накрафтил и показал, что он работает) - нужно немного приложить руки
Maxim
16.07.2019
13:13:44
спасиб
Кирилл
16.07.2019
13:14:36
сорри ?♂️
эээхххъъъъ... спасиб... "- сама, сама, сама, сама..."
George
16.07.2019
13:28:20
Maxim
16.07.2019
13:30:28
Maxim
16.07.2019
13:30:54
не знаю насколько это валидно,и по канонах
Google
Maxim
16.07.2019
13:31:36
но мне норм
я понимаю что это некого рода хак..
Maxim
16.07.2019
13:32:36
Maxim
16.07.2019
13:36:05
Maxim
16.07.2019
13:39:16
спасиб, чекаю
Вы пытаетесь разделить на dev и prod режимы ваше приложение? Используете docker-compose?
Maxim
16.07.2019
13:40:04
Maxim
16.07.2019
13:49:45
В вашем Dockerfile есть
RUN yarn install --frozen-lockfile --production
То есть это деплой app в production режиме, а вам требуется создать dev режим для разработчиков, верно я вас понял? Один из способов это создать отдельный dev.Dockerfile в котором убрать все что в prod и оставить только FROM, WORKDIR и EXPOSE, проект монтировать с хоста в Workdir и делать сборку с помощью docker run yarn && yarn build e.t.c
Есть еще парку способов как это возможно реализовать
Все зависит от условий задачи которую пытаетесь решить
Maxim
16.07.2019
13:50:52
George
16.07.2019
13:51:28
Я предложил выше. Использовать отдельные образы. В рамках одного докерфайла их можно распилить путем определения разных стадий
Минусом многоцелевого dockerfile является то, что по умолчанию (без явного указания --target) он собирает последнюю цель, что может быть нежелательно
Maxim
16.07.2019
13:51:37
George
16.07.2019
13:52:09
Гуглить по "multistage build"
Maxim
16.07.2019
13:52:11
@gecube @rttrttrtt у вас тут локальная война)?
George
16.07.2019
13:52:21
Maxim
16.07.2019
13:53:06
ну я могу сделать (уже делал) так чтобы всё работало, но хотелось узнать бест-пркатис
George
16.07.2019
13:53:34
Просто в принципе цена ошибки - что образ не с тем тегом выбрать, что конфиг не тот передать - примерно одинакова