Docker не может подключиться к порту администратора
Привет, я работаю с файлом docker-compose для работы с postgresql и администратором (интерфейс базы данных).
Я следовал инструкции на образе postgres на концентраторе докеров и выполняю стек докера развертывания -c docker-compose.yml postgres_test, но когда я пытаюсь подключиться к 45.77.46.240(ip моего хост-компьютера):8282(порт администратора) с другого компьютера это ответ с 'ERR_CONNECTION_TIMED_OUT'
Интересно, почему я могу подключиться к визуализатору через порт 8080, он работал, но не на администраторе?
Вот мой докер-compose.yml
version: "3"
services:
adminer:
image: adminer
restart: always
ports:
- "8282:8282"
db:
image: postgres
networks:
- webnet
environment:
POSTGRES_PASSWORD: 123
POSTGRES_USER: postgres
POSTGRES_DB: real_estate
volumes:
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
web:
# replace username/repo:tag with your name and image details
image: my_user_name/test_image:image1
ports:
- "8081:8081"
networks:
- webnet
environment:
DB_HOST: db
visualizer:
image: dockersamples/visualizer:stable
ports:
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
deploy:
placement:
constraints: [node.role == manager]
networks:
- webnet
networks:
webnet:
3 ответа
Это еще один ответ на конкретный порт в докере администратора.
version: "3"
services:
adminer:
image: adminer
restart: always
ports:
- "8282:8282"
command:
- 'php'
- '-S'
- '[::]:8282'
- '-t'
- '/var/www/html'
entrypoint:
- 'entrypoint.sh'
- 'docker-php-entrypoint'
Это не работает из-за проблемы с портом. Вы настроили его как 8282. Порт администратора по умолчанию - 8080, и вы не можете изменить порт администратора по умолчанию. Поэтому попробуйте со следующим кодом.
version: "3"
services:
adminer:
image: adminer
restart: always
ports:
- "8282:8080"
db:
image: postgres
networks:
- webnet
environment:
POSTGRES_PASSWORD: 123
POSTGRES_USER: postgres
POSTGRES_DB: real_estate
volumes:
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
web:
# replace username/repo:tag with your name and image details
image: my_user_name/test_image:image1
ports:
- "8081:8081"
networks:
- webnet
environment:
DB_HOST: db
visualizer:
image: dockersamples/visualizer:stable
ports:
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
deploy:
placement:
constraints: [node.role == manager]
networks:
- webnet
networks:
webnet:
Есть несколько вариантов решения, так или иначе, проблема не связана с докером.
Вы должны рассматривать его как процесс, выполняющийся на компьютере через порт 8282. Он доступен только для хост-компьютера. Это не выставлено миру
самое простое решение - использовать ssh tunnel