Kana
А ещё ip docker хоста почему то поменялся - последняя цифра на одну увеличилась
Anonymous
Latest commit bc2da18 @ https://github.com/g0x7f/devOps-patch TCPIP and Networking Fundamentals for IT Pros http://bit.ly/2EzcTeI CBT Nuggets - Cisco CCNA Collaboration 210-060 http://bit.ly/2Uk9VBy CCNA ICND1 100-105 http://bit.ly/2TevKGd Lynda - Linux: Network Configuration http://bit.ly/2UmpLM2 Networking and Streams http://bit.ly/2SKLZFU Pluralsight - LFCS - Linux Networking http://bit.ly/2tON9pB RHCE Cert Prep Networking and SSH http://bit.ly/2H4gWDw cisco-ccna-icnd2-200-105-complete-course-sims-and-gns3 http://bit.ly/2IUGEvX Schroder C. - Linux Networking Cookbook - 2007.pdf http://bit.ly/2VDIG4W
Nikolay
Всем привет, Столкнулся с проблемой, что во время билда Dockerfile не видит папку примонтированную через docker-compose. Вот мои файлы: docker-compose.yml wss: build: node/wss container_name: "${CONTAINER_PREFIX}_wss" env_file: - .env ports: - 28043:8043 - 29020:9019 volumes: - ../../wss/:/app/wss/Dockerfile FROM node:10.15-stretch WORKDIR /app/wss RUN npm ci # etc commandsВываливается с ошибкой npm ERR! path /app/wss/package.json Если закомментить RUN npm ciи выполнить команду docker exec -it v2_wss npm ciто всё отработает нормально.
manefesto
У меня есть подозрение что не проканывает из-за того что папка на уровень выше
Nikolay
Если указывать папку на уровень выше для Dockerfile, то ваше подозрение оправдано, он поругается с ошибкой ERROR: Service 'wss' failed to build: ADD failed: Forbidden path outside the build context:но когда volume подключен в docker-compose.yml, то всё в порядке.
Nick
Добрый день ! Я новичек dockers и только разбираюсь, пытаюсь понять на простых примерах, реально ли сдеать, чтобы nginx работах не в изолированном контейнере, а мог отзываться в запущено виде из внутренней сети ?
manefesto
Зачем ? Контейнер == chroot
Nick
Запущен у меня docker под Windows 10 Pro. Создана сеть transparent.
Nick
Я понимаю, значит, dockers, это только chroot. 😞
Nick
Нельзя на нем поднять типа виртуальной машины с каким-то приложением ?
Nick
docker-compose - это тоже будет chroot ?
Anton
docker-compose это просто удобный способ запускать докер
Nick
Нужно в docker-compose запустить kafka, но как его проверить, если docker - это изоляция (chroot). Непонимаю.
Anton
пробрось порты и проверяй на здоровье
Nick
пробрось порты и проверяй на здоровье
Был ли Linux на рабочей машине пробросил через маскарадинг, но как это сделать на Windows, не знаю.😞 Сейчас машина с docker - это Windows 10 pro. 😞
Nick
виртуальная машина - что имеется в виду под этим понятием?
Виртуальная машина - это запущеная отдельная операцинка на хостовой машине, типа VMware. Но к запущенной операционной системе на VMware можно обратиться из внешей сети, она не изолирована. А Docker, получается изоляция. Или я что-то непонимаю ? Сразу извиняюсь, я только учусь. Запустить, nginx & ubuntu научился в docker, теперь понять хочется.
Nick
Понять, как и для чего применять docker. Docker - это только для теставых сред ? Для реальной работы он применим ?
Maxim
Понять, как и для чего применять docker. Docker - это только для теставых сред ? Для реальной работы он применим ?
представьте у вас есть виртуальная машина типа VMware или VirtualBox, представили?
Maxim
Да.
При создании виртуальной машины вы указываете сколько ядер будет отдано виртуалке, сколько ОЗУ, сколько диск её будет занимать, создаете сетевое соединение и запускаете виртуалочку. Она успешно стартует, становится доступна в вашей сети с определенным ip и выделенные ресурсы более недоступны вашему хосту где вы запустили виртуальную машину. Это если грубо и в двух предложениях описание вашей виртаульной машины, я ничего не упустил в описании?
Maxim
Примерно, похоже.
Например вам нужен nginx и вы для этих целей решили поднять его в виртуальной машине, давайте представим что ваш процессор располагает например восьмю ядрами, представили?
Maxim
ПРедставил.
меньше одного ядра вам не получится выделить для виртуальной машины, верно? я не помню что бы в виртуальных машинах была возможность выделить пол ядра
Nick
Максим, я просто могу на одном ядре в Vmware запустить Ubuntu с nginx и все будет работать, для тестирования и будет отзываться из внутренней сети. Но с docker сделать такое я не знаю, как.
Nick
проще чем с VMware
Наверно, мне нужно перестроить голову и логику на эту простоту. Я пока не понимаю. 😞
Maxim
Максим, я просто могу на одном ядре в Vmware запустить Ubuntu с nginx и все будет работать, для тестирования и будет отзываться из внутренней сети. Но с docker сделать такое я не знаю, как.
давайте вернемся к арихметике, у вас есть 8 ядер, одна виртуалка требует одно ядро, сколько одновременно виртуалок вы сможете запустить при данных ограничениях?
Maxim
7
ок, допустим вам повезло и 7 смогли включиться, как вы думаете хватит ли вам 7 виртуалок что бы запустить проект который состоит из 43 виртуальных машин?
Nick
Максим, простой docker-compose.yml: version: '3' services: nginx: image: "nginx:latest" ports: - "80:80" volumes: - "./html/:/usr/share/nginx/html/" networks: default: driver: "transparent"
Nick
Но он не работает для nginx, я сетями не могу разобраться как сделать.
Maxim
Но он не работает для nginx, я сетями не могу разобраться как сделать.
driver: "transparent" вы указываете для решения какой задачи?
Nick
ок, допустим вам повезло и 7 смогли включиться, как вы думаете хватит ли вам 7 виртуалок что бы запустить проект который состоит из 43 виртуальных машин?
Ну не хватит. Но я не понимаю, как это правильно сделать и как эти 43 виртуальные машины/задачи, если нужно могут общаться между собой. Пример, как создать кластер из 3 centos/ubuntu на docker ?
Nick
ну и сети должны все таки иметь имена, без имени ей сложно жить
Примеры, нде-то можно найти, как могу/должны назыыаться разные сети/сетевые интерфейсы и варианты подключения docker-задачи/машины к сети.
Maxim
Ну не хватит. Но я не понимаю, как это правильно сделать и как эти 43 виртуальные машины/задачи, если нужно могут общаться между собой. Пример, как создать кластер из 3 centos/ubuntu на docker ?
1) создаем обычную сеть с помощью docker network create my_first_network 2) в docker-compose.yml мы указываем вт такую директиву networks: my_first_network: external: name: my_first_network 3) в сервисе в docker-compose.yml из шага 2 указываем networks: - my_first_network сервис будет доступен в сети my_first_network
Maxim
Примеры, нде-то можно найти, как могу/должны назыыаться разные сети/сетевые интерфейсы и варианты подключения docker-задачи/машины к сети.
docker network в обычной документации описывает все типы которые можно создавать из коробки, а так же описание всех возможных вариантов их использования
Nick
Значит, я что-то не понимаю или ... 😞
Nick
version: '3' services: nginx: image: "nginx:latest" ports: - "80:80" volumes: - "./html/:/usr/share/nginx/html/" networks: - nginx_tr networks: nginx_tr: default: driver: "transparent"
Nick
Так тоже не проходит и непонятная ошибка. 😞
Nick
Ошибка: ERROR: no matching manifest for unknown in the manifest list entries
Nick
5b6e9a3fb201 tnet transparent local
Maxim
Ошибка: ERROR: no matching manifest for unknown in the manifest list entries
создайте сеть командой docker network create nginx_network
Nick
docker network ls
Nick
Создал сеть: 5b6e9a3fb201 tnet transparent local
Maxim
docker network ls
docker network create nginx_network
Nick
version: '3' services: nginx: image: "nginx:latest" ports: - "80:80" volumes: - "./html/:/usr/share/nginx/html/" networks: - nginx_tr networks: nginx_tr: default: name: "tnet"
Nick
Так тоже не работает. 😞
Maxim
Так тоже не работает. 😞
что вам выдает в ответе команда ? docker network create nginx_network
Nick
Error response from daemon: could not find plugin bridge in v1 plugin registry: plugin not found
Nick
У меня Windows контейнеры.
Maxim
version: '3' services: nginx: image: "nginx:latest" ports: - "80:80" volumes: - "./html/:/usr/share/nginx/html/" networks: - tnet networks: tnet: external: name: "tnet"
Nick
Только tnet - это сеть у меня типа "transparent", такой тип сети есть для windows контейнеров. Наверно Вы правы и нужно перейти на Linux контейнеры.
Nick
Да, извращение у меня, контейнеры использую на машину под Windows 10 Pro. 😞
Nick
Наверно переведу тип контейнеров Linux-based и будет полная эмуляция как docker под Linux.
Maxim
Наверно переведу тип контейнеров Linux-based и будет полная эмуляция как docker под Linux.
а что это за перевод контейнеров? можете скриншот скинуть?
Nick
а что это за перевод контейнеров? можете скриншот скинуть?
В Windows есть переключение "Switch to Linux containers" или на оборот в Windows.
Maxim
В Windows есть переключение "Switch to Linux containers" или на оборот в Windows.
наверное это для мокрософтовских контейнеров типа mssqlserver, вам нужен linux containers
Nick
наверное это для мокрософтовских контейнеров типа mssqlserver, вам нужен linux containers
С Linux-контейнерами все работает. version: '3' services: nginx: image: "nginx:latest" ports: - "8080:80" volumes: - "./html/index.html:/usr/share/nginx/html/index.html"
Nick
Только остается вопрос, как сделать, чтобы nginx работал не http://localhost:8080/, а например http://192.168.100.10:8080/
Maxim
Только остается вопрос, как сделать, чтобы nginx работал не http://localhost:8080/, а например http://192.168.100.10:8080/
лучше по доменам обращаться к nginx, сегодня у вас 100.10, завтра другой, а на других серверах третьи, поэтому, скорее всего, в вашем случае лучше по доменам, да и с портами не придется потом ломать голову
Nick
Мне пример или принцип понять нужно, не понимаю я, что написано в документации по docker. 😞(( Принципа не понимаю. 😞
🤔
env используйте
Maxim
Я согласен, про IP-адреса и домены. Пусть будет, как сделать, как прописать в docker-compose.yml, чтобы nginx отзываля по http://site1.ru:8080/
для того что бы избавиться от порта в адресе после домена вам необходим реверствный прокси, например traefik.io достаточно удобным будет для вас, минимум настроек, максимум удовольствия
Nick
в доке есть про это
У меня не Linux, у меня машина на которой запущен docker - это Windows. Это реально на ней сделать ? В доках все для Linux.
🤔
контейнеры то с линуксом
Nick
Проблемы в и с Linux, нет, знаю и и понимаю, прсто дома бук один и он под Windows. 😞
Maxim
У меня не Linux, у меня машина на которой запущен docker - это Windows. Это реально на ней сделать ? В доках все для Linux.
вообще разница есть в путях к монтируемым директориям, но помоему это давно уже решенная задача и разницы особо никакой где вы запускаете контейнеры