Size: a a a

Docker — русскоговорящее сообщество

2020 January 11

M

Myron in Docker — русскоговорящее сообщество
Nikolay Khomenko
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
Огромное спасибо)
источник

NK

Nikolay Khomenko in Docker — русскоговорящее сообщество
Myron
Огромное спасибо)
не за что)
источник

GG

George Gaál in Docker — русскоговорящее сообщество
Artem Nemtsev
Можно ли как-то настроить докер, чтобы он следил за пушами в docker-hub и при новом пуше пересобирал контейнеры в docker-compose?
Да, нет, есть watchtower, выглядит как то, что нужно
источник

AN

Artem Nemtsev in Docker — русскоговорящее сообщество
George Gaál
Да, нет, есть watchtower, выглядит как то, что нужно
Его можно использовать в docker-compose?
источник

GG

George Gaál in Docker — русскоговорящее сообщество
Он рядом работает
источник

GG

George Gaál in Docker — русскоговорящее сообщество
И его цель - пересоздавать контейнеры при изменении образа
источник

GG

George Gaál in Docker — русскоговорящее сообщество
Не _пересобирать_
источник

GG

George Gaál in Docker — русскоговорящее сообщество
Для пересборки нужно отдельный процесс через гитлаб/гитхаб строить
источник

EU

Egor Urvanov in Docker — русскоговорящее сообщество
Привет.

Запускаю докер. Сервис поднимается на 5000 порту внутри контейнера. Я делаю маппинг 5001:5000. Но сервис по-прежнему доступен на 5000, а не на 5001.  docker-compose -f .deploy/docker-compose.full.yml up

version: '2'
services:
   storage-local:
       image: "mongo:4.0.2"
       ports:
         - "27017:27017"
   storage-api-local:
       environment:
         - ENV_FILE=.deploy/.envs/local.env
       build:
         context: ..
         dockerfile: .deploy/Dockerfile
       ports:
         - "5001:5000"
       volumes:
         - ..:/app
       depends_on:
         - storage-local
       network_mode: host


Dockerfile:

FROM ubuntu:18.04 AS BUILD

RUN apt-get update && apt-get install make
RUN apt-get install -y python3.7 python3-pip
RUN python3.7 -m pip install --upgrade pip
RUN apt-get install -y git

COPY . /app
WORKDIR /app

RUN PIP=pip PYTHON=python3.7 make deps
CMD PIP=pip PYTHON=python3.7 make run
источник

ДК

Дмитрий Кожанов in Docker — русскоговорящее сообщество
Egor Urvanov
Привет.

Запускаю докер. Сервис поднимается на 5000 порту внутри контейнера. Я делаю маппинг 5001:5000. Но сервис по-прежнему доступен на 5000, а не на 5001.  docker-compose -f .deploy/docker-compose.full.yml up

version: '2'
services:
   storage-local:
       image: "mongo:4.0.2"
       ports:
         - "27017:27017"
   storage-api-local:
       environment:
         - ENV_FILE=.deploy/.envs/local.env
       build:
         context: ..
         dockerfile: .deploy/Dockerfile
       ports:
         - "5001:5000"
       volumes:
         - ..:/app
       depends_on:
         - storage-local
       network_mode: host


Dockerfile:

FROM ubuntu:18.04 AS BUILD

RUN apt-get update && apt-get install make
RUN apt-get install -y python3.7 python3-pip
RUN python3.7 -m pip install --upgrade pip
RUN apt-get install -y git

COPY . /app
WORKDIR /app

RUN PIP=pip PYTHON=python3.7 make deps
CMD PIP=pip PYTHON=python3.7 make run
5001 порт на хосте а 5000 в контейнере.
источник

ДК

Дмитрий Кожанов in Docker — русскоговорящее сообщество
Если на хосте у вас доступно что то на 5000 порту - значит что то помимо контейнера заняло порт
источник

ДК

Дмитрий Кискин in Docker — русскоговорящее сообщество
Привет, может кто-нибудь объяснить начал изучать docker есть пару вопросов которые не могу понять:

1) Как правильно собрать контайнер для связки ubuntu, nginx, php, psql? Конкретно не понятно то как будет собираться контайнер на локалке и на vps так как vps уже на ubuntu? 😐

2) Почему многие создают образ с nginx+php или apache+php, а не разбить их в отдельные образы с разными DockerFile?

3) Как поднять два разных проекта? На vagrant создаются 2 отдельные машины с разными ip, а тут не могу догнать

4) Как работает докер? Я создал образ просто с ubuntu собрал запустил и вылетает ошибка с кодом 0 насколько я понимаю, чтоб контейнер жил нужно через cmd запускать процесс?

Подойдет любая инфа
p.s. искал везде
источник

ДК

Дмитрий Кожанов in Docker — русскоговорящее сообщество
1) Докер такая штука, ее в основном используют для локальной разработки и быстрого разворачивания тест стендов. На проде нужно с умом подходить.
2) От незнания. Так собирают новички несведущие. Либо может вылезает какая то специфическая проблема, но я с таким не сталкивался.
3) Также как и вагрант. Копируешь папку запускаешь. Создаются дополнительные инстансы, при условии что ip бинда будут отличаться или порты
источник

MY

Mihail Yakubiv in Docker — русскоговорящее сообщество
Egor Urvanov
Привет.

Запускаю докер. Сервис поднимается на 5000 порту внутри контейнера. Я делаю маппинг 5001:5000. Но сервис по-прежнему доступен на 5000, а не на 5001.  docker-compose -f .deploy/docker-compose.full.yml up

version: '2'
services:
   storage-local:
       image: "mongo:4.0.2"
       ports:
         - "27017:27017"
   storage-api-local:
       environment:
         - ENV_FILE=.deploy/.envs/local.env
       build:
         context: ..
         dockerfile: .deploy/Dockerfile
       ports:
         - "5001:5000"
       volumes:
         - ..:/app
       depends_on:
         - storage-local
       network_mode: host


Dockerfile:

FROM ubuntu:18.04 AS BUILD

RUN apt-get update && apt-get install make
RUN apt-get install -y python3.7 python3-pip
RUN python3.7 -m pip install --upgrade pip
RUN apt-get install -y git

COPY . /app
WORKDIR /app

RUN PIP=pip PYTHON=python3.7 make deps
CMD PIP=pip PYTHON=python3.7 make run
        network_mode: host

меняй на bridge

при режиме host маппинг портов не работает, в таком режиме конейнер использует сеть хоста (интерфейс и порты)

если поставить bridge - у контейнера будет свой интерфейс сетевой, и маппинг сработает
возможно кстати что-то другое сломается, если завязка на хостовую сеть)
источник

EU

Egor Urvanov in Docker — русскоговорящее сообщество
Mihail Yakubiv
        network_mode: host

меняй на bridge

при режиме host маппинг портов не работает, в таком режиме конейнер использует сеть хоста (интерфейс и порты)

если поставить bridge - у контейнера будет свой интерфейс сетевой, и маппинг сработает
возможно кстати что-то другое сломается, если завязка на хостовую сеть)
а монгу он увидит?
источник

EU

Egor Urvanov in Docker — русскоговорящее сообщество
Есть подозрение, что нет
источник

MY

Mihail Yakubiv in Docker — русскоговорящее сообщество
нужно монге прописать name: mongo
тогда из контейнера с аппкой можно будет достучаться до монги по имени mongo:27017
источник

MY

Mihail Yakubiv in Docker — русскоговорящее сообщество
докер-компос запускает в одной сети контейнеры (из одного ямла)
главное хостнеймы прописать
источник

PK

Pavel Kamyshev in Docker — русскоговорящее сообщество
Дмитрий Кискин
Привет, может кто-нибудь объяснить начал изучать docker есть пару вопросов которые не могу понять:

1) Как правильно собрать контайнер для связки ubuntu, nginx, php, psql? Конкретно не понятно то как будет собираться контайнер на локалке и на vps так как vps уже на ubuntu? 😐

2) Почему многие создают образ с nginx+php или apache+php, а не разбить их в отдельные образы с разными DockerFile?

3) Как поднять два разных проекта? На vagrant создаются 2 отдельные машины с разными ip, а тут не могу догнать

4) Как работает докер? Я создал образ просто с ubuntu собрал запустил и вылетает ошибка с кодом 0 насколько я понимаю, чтоб контейнер жил нужно через cmd запускать процесс?

Подойдет любая инфа
p.s. искал везде
Как то плоховато ты искал везде
источник

EU

Egor Urvanov in Docker — русскоговорящее сообщество
Mihail Yakubiv
нужно монге прописать name: mongo
тогда из контейнера с аппкой можно будет достучаться до монги по имени mongo:27017
version: '2'
services:
   storage-local:
       name: mongo
       image: "mongo:4.0.2"
       ports:
         - "27017:27017"
   storage-api-local:
       environment:
         - ENV_FILE=.envs/local.env
       image: ee391979cbec
       depends_on:
         - storage-local
       network_mode: bridge
источник