herenickname
А что с expose делать? В dockerfile может быть написать EXPOSE 80, а я хочу через API создать контейнер с expose на 81 порту tcp сделать только
herenickname
пробовал, открывается 80 и 81 порт, а мне нужен только 81)
su
herenickname
считай, что у меня нет доступа к докерфайлу, это уже сбилженные образы(
su
herenickname
странно, попробую скоро еще раз
Александр
У меня nginx-контейнер висит в overlay сети. Ну и все запросы к нему от клиентов имеют ip из этой сети а не реальные. Я правильно понимаю что единственный выход выносить nginx на хост-машину из контейнера дабы иметь доступ к реальным ip тех, кто стучаться?
Иван
Mentat
George
George
из того, что ты написал - по сути - тебе только VOLUME мешает, который гарантированно создает анонимный вольюм. Остальные инструкции ничего не делают, т.к. они выполняются на этапе билда (представь себе, что образ докер контейнера == архив с файловой системой + метадата)
herenickname
herenickname
George
на самом деле стремно другое
George
рандомный образ в докер хабе может содержать эксплуатацию CVEшки... докеровской...
George
"побег из песочницы"
herenickname
есть kata-containers
herenickname
упаковывает рантайм зону в маленькую вмку со своим ядром
George
да, правильная история
Evgeny
Всем привет. У кого-нибудь была проблема, что докер контейнер не может достучаться до интернета при включенном впн в Ubuntu 18.04? Как решали? Конфликтов в таблице маршрутизации не наблюдаю.
vismagilov
Шлюз по умолчанию vpn случайно не меняет на свой или таблицу маршрутизации заворачивая весь трафик через себя
Evgeny
George
о йо....
George
у тебя роутинг то включен на машине?
George
ты понимаешь, что докер - по сути работает - как будто у тебя не контейнеры, а настоящая сеть на фиг знает сколько узлов, подключенная к отдельному сетевому интерфейсу ?
George
может у тебя форвард DOCKER <-> VPN не настроен
George
там днище днищенское проблем может быть
George
я уж не говорю еще про то, что докеры тебе в VPN через MASQUERADE придется выпускать
George
🥺🥺🥺🥺
George
> й тоже без вариантов=) а наши местные админы сказали, что "сорян, мы только винду поддерживаем".
George
George
одмины такие одмины
George
слушай, а что мешает впн на внешнюю машину вынести?
Anonymous
George
т.е. у тебя впн и докеры сейчас на одной тачке. Как бы норм, но не очень
George
вынеси впн наружу - у тебя как минимум боль ниже поясницы от сращивания докера, файрволла и впна исчезнет
George
настрой на своем хосте виртуализацию )))) и попили на виртуалки
Sergey
George
Udjin
Народ, подскажите пожалуйста:
Задача - простенькое ноджиес приложение в докере, его задача - запустить билд, нода сбилдила, появилась папка с файлами в контейнере. Её надо как-то раздавать. Я пришёл к тому, что раздавать надо nginx, который тоже в докере, и на него будет натравлен nginx который на хосте, с LE и прочим.
написал вот такой докер-файл:
FROM node:11 as builder
COPY . /admin
WORKDIR /admin
RUN npm install
RUN npm install -g @angular/cli
RUN ng build --prod
FROM nginx-alpine as admin
COPY --from=builder /admin/dist/admin-panel /usr/share/nginx/html
и такой вот композ:
version: "3"
services:
admin:
container_name: admin
image: admin
build:
context: .
dockerfile: Dockerfile
expose:
- "{{admin_port}}"
ports: ['{{admin_port}}:{{admin_port}}']
volumes: ['.:/admin']
restart: on-failure
Всё запускается, в хостовом nginx делаю прокси на 127,0,0,1 порт контейнера а в ответ пусто, 500. docker logs admin- пусто, ничего не показывает. ЧЯДНТ?
Anonymous
Народ, подскажите пожалуйста:
Задача - простенькое ноджиес приложение в докере, его задача - запустить билд, нода сбилдила, появилась папка с файлами в контейнере. Её надо как-то раздавать. Я пришёл к тому, что раздавать надо nginx, который тоже в докере, и на него будет натравлен nginx который на хосте, с LE и прочим.
написал вот такой докер-файл:
FROM node:11 as builder
COPY . /admin
WORKDIR /admin
RUN npm install
RUN npm install -g @angular/cli
RUN ng build --prod
FROM nginx-alpine as admin
COPY --from=builder /admin/dist/admin-panel /usr/share/nginx/html
и такой вот композ:
version: "3"
services:
admin:
container_name: admin
image: admin
build:
context: .
dockerfile: Dockerfile
expose:
- "{{admin_port}}"
ports: ['{{admin_port}}:{{admin_port}}']
volumes: ['.:/admin']
restart: on-failure
Всё запускается, в хостовом nginx делаю прокси на 127,0,0,1 порт контейнера а в ответ пусто, 500. docker logs admin- пусто, ничего не показывает. ЧЯДНТ?
Мы построим тебе nginx на nginx, чтобы ты мог проксировать пока проксируешь?
Почему бы не сделать просто
EXPOSE 80 или на каком там порту оно работает?
Udjin
ну понимаешь, у меня после билда - появляются файлы. Там нет демона никакого, статика одна. Эту статику надо раздать. Я и подумал туда nginx впилить и на него натравить хостовый
Udjin
или ты предлагаешь статику копировать из контейнера на хост?
Anonymous
Что ты имеешь ввиду под раздать
Udjin
чтоб я в браузере адрес набрал и открылся index.html
Udjin
который из этой статики которая сбилдилась в контейнере
Anonymous
Окей, этот адрес идет на каком-то прту
Anonymous
80 скорее всего
Udjin
огась
Anonymous
Вписываешь в Dockerfile EXPOSE 80
Anonymous
Получаешь свой index.html на IP хоста:80
Udjin
хм, к такому меня жизнь не готовила, щас попробую
George
George
да епрст. EXPOSE - это аннотация. Либо его использует куб (в определенных случаях), либо когда ты делаешь docker run ... -P (именно заглавная), либо он бесполезен
George
скорее это напоминание самому себе, что сервис на 80-м порту.
George
@Agumilev
George
Andrey
))))
Andrey
Andrey
Буду каждый раз рублик в копилку класть ,когда этот встаёт...
Andrey
Как 100 накопится сфотаю
Andrey
Почему сложно Читать....ну зачем писать и использовать если не понимаешь для чего это нужно...
Alex
наехали на человека
просто сказали бы что EXPOSE 3000 например это просто запись-документация не на что не влияющая и порты она не пробрасывает
Anonymous
Andrey
+
Andrey
кроме как -P
George
сделали блин докер, сделали кубер, все сложно, все по-разному, все по-кривому
Andrey
Anonymous
Нахера в Dockerfile вообще команды-документацию добавлять, мол, какой смысл
Alex
что бы знать на каком порту приложение работает - для тех кто читает докерфайл