
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
Просто в принципе цена ошибки - что образ не с тем тегом выбрать, что конфиг не тот передать - примерно одинакова