Stack Overflow на русском Asked on January 1, 2022
Возникло недопонимание с docker-network
и с depends_on
.
Вопрос по основной части сетей я уже задавал тут .
depends_on
работает достаточно странно в моем случае.
Я создал 2 тестовых image
‘a и имею следующую конфигурацию docker-compose.yml
:
version: '3.7'
services:
app1:
image: test
build: app1
command: python3 app1.py
app2:
image: test2
build: .
depends_on:
- app1
Но в логах все равно первым почему то запускается контейнер от app2
:
root@icyftl:~/temp# docker-compose up
Building app2
Step 1/4 : from ubuntu:latest
---> 1e4467b07108
Step 2/4 : RUN apt-get update
---> Using cache
---> 08682223c800
Step 3/4 : RUN apt-get install curl -y
---> Using cache
---> 6c6b82a3dca4
Step 4/4 : RUN curl http://app1:8000/test
---> Running in ad21307744f6
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
curl: (7) Failed to connect to app1 port 8000: Connection refused
ERROR: Service 'app2' failed to build: The command '/bin/sh -c curl http://app1:8000/test' returned a non-zero code: 7
Как следствие, мои попытки понять проблему, которую я опишу во втором вопросе обрываются.
Как поднять сервер на flask
в контейнере и обращаться к нему из другого контейнера?
При создании связки контейнеров в docker-compose.yml
, как я уже понял – автоматом поднимается bridge
.
Если я могу сделать ping -c 100 app1
из второго контейнера и он будет работать, то как мне обращаться к серверу на flask
, который поднят на 0.0.0.0
? curl http://app1:8000/test
?
Первая проблема возникает потому, что обращение в app1
идет на этапе сборки, т.е. у вас в Dockerfile
для app2
есть команда которая пробует обращаться к app2
: RUN curl http://app1:8000/test
А на этапе сборки app1
еще не запущен.
По второму вопросу ответ, утвердительный. Если обо сервиса в одной сети (по умолчанию для сервисов из одного compose файла это так), то контейнер каждого из них доступен другому по hostname, который совпадает с именем сервиса в compose файле.
Answered by Roman Konoval on January 1, 2022
0 Asked on August 27, 2020 by user382875
1 Asked on August 26, 2020 by mysnikita
%d0%b0%d0%bb%d0%b3%d0%be%d1%80%d0%b8%d1%82%d0%bc %d0%be%d0%bb%d0%b8%d0%bc%d0%bf%d0%b8%d0%b0%d0%b4%d0%b0 %d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5
0 Asked on August 24, 2020
2 Asked on August 21, 2020 by clark-devlin
python python 3 x %d0%bc%d0%bd%d0%be%d0%b3%d0%be%d0%bf%d0%be%d1%82%d0%be%d1%87%d0%bd%d0%be%d1%81%d1%82%d1%8c
0 Asked on August 19, 2020 by darkside134
1 Asked on August 13, 2020 by rsfse
1 Asked on August 13, 2020 by meshkovo1977
1 Asked on August 12, 2020 by pekpek
css html %d0%b2%d0%b5%d0%b1 %d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5 %d0%b2%d1%91%d1%80%d1%81%d1%82%d0%ba%d0%b0
2 Asked on August 7, 2020
1 Asked on August 4, 2020 by smoketamer
Get help from others!
Recent Answers
Recent Questions
© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP