LINUX.ORG.RU
Ответ на: комментарий от ubuntologs

Повторяю ещё раз, у тебя сейчас в контейнере запущен NGINX на стандартном порту 80, а с хоста настроен проброс с порта 8081 на порт NGINX внутри конейнера.

С внешнего мира или даже с хоста ты уже для подключения должен писать http://IP:8081.

Что тебе ещё надо?

kostik87 ★★★★★
()
Ответ на: комментарий от ox55ff

я не запускаю, это на сервере стоит. Вообщем задача такая, сейчас я захожу на сервер http://IP, мне надо заходить http://IP:port, а 80-й порт вовсе прикрыть для доступа

ubuntologs
() автор топика
Ответ на: комментарий от ubuntologs

я не запускаю, это на сервере стоит

Сервер сам ничего не запускает.

Если бы ты давал всю информацию, которую у тебя просят, то уже бы подсказали. А ты шлангуешь. Выглядит, что ты не заинтересован в решении вопроса.

ox55ff ★★★★★
()
Ответ на: комментарий от ubuntologs

я смотрел, но не разобрался, + очень не дружественный мне язык)

А на каком языке вы собрались работать? На варианте «сделай мне зашибись»? Это без стеба. Вам дали ссылку на оригинальную документацию, но вместо этого вы хотите суржиковую интерпретацию написанную непонятно кем и непонятно как.

anc ★★★★★
()
Ответ на: комментарий от anc

устанавливал я, все это прописано в файле docker compose при инсталяции. Я пробывал там менять на свой порт и инсталлировать по новой, но получаю ошибку при инсталляции с msql что то. Я думаю не ужели уже сейчас на сервере нельзя сменить порт? Ну или как то сделать что мне нужно

ubuntologs
() автор топика
Ответ на: комментарий от Silerus

у меня стоит сервис на сервере. Основан на Docker, так же использует базу мскл. Домена не имею, вход строго по ип адресу. Сейчас вход ип.Т.е на 80-м порту. Я хочу закрыть 80-й порт и входить к примеру http://ip:35285 Возможно тут докер и вовсе не при чем, я не знаю, но задача моя такая

ubuntologs
() автор топика
Ответ на: комментарий от Silerus

version: ‘2.4’

services: mysql: image: mysql:5.7.25 container_name: ermac_panel_mysql ports: - ${MYSQL_PORT}:3306 expose: - «3306» restart: unless-stopped environment: MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_PASSWORD: ${MYSQL_PASSWORD} volumes: - ./docker/mysql/my.cnf:/etc/mysql/my.cnf networks: - ermac_panel

backend: build: context: . dockerfile: Dockerfile.backend target: ermac_docker_php restart: unless-stopped depends_on: - mysql volumes: - ./backend/:/var/www:rw,cached - /var/www/storage/ - /var/www/bootstrap/cache/ - ./docker/php/local.ini:/usr/local/etc/php/conf.d/local.ini working_dir: /var/www networks: - ermac_panel

frontend: tty: true build: context: . dockerfile: Dockerfile.frontend target: ermac_docker_frontend volumes: - ./frontend:/var/www:rw,cached networks: - ermac_panel

nginx: build: context: . dockerfile: Dockerfile.backend target: ermac_docker_nginx container_name: ermac_panel_nginx restart: unless-stopped volumes: - ./backend/public:/var/www/public:ro - ./docker/nginx/conf.d/:/etc/nginx/conf.d:ro - ./docker/nginx/log/:/var/log/nginx/ ports: - ‘${BACKEND_INTERFACE}:${BACKEND_PORT}:80’ networks: - ermac_panel

nginx_frontend: build: context: . dockerfile: Dockerfile.frontend target: ermac_docker_nginx_frontend container_name: ermac_panel_nginx_frontend restart: unless-stopped volumes: - ./frontend/build:/usr/share/nginx/html:ro - ./docker/nginx/frontend.conf.d/:/etc/nginx/conf.d:ro ports: - ‘${FRONTEND_INTERFACE}:${FRONTEND_PORT}:80’ networks: - ermac_panel

myadmin: image: phpmyadmin/phpmyadmin:latest container_name: ermac_panel_myadmin restart: unless-stopped depends_on: - mysql environment: PMA_HOST: ermac_panel_mysql PMA_ABSOLUTE_URI: /myadmin/ UPLOAD_LIMIT: 512M networks: - ermac_panel

golang: build: context: . dockerfile: Dockerfile.golang container_name: ermac_golang volumes: - ./golang/:/app:rw,cached ports: - «${GOLANG_PORT}:3434» restart: unless-stopped depends_on: - mysql networks: - ermac_panel networks: ermac_panel:

ubuntologs
() автор топика
Ответ на: комментарий от ubuntologs

код всетаки надо размечать. вот что отвечает за порты nginx - их у тебя два frontend и backend frontend:

ports
    -‘${FRONTEND_INTERFACE}:${FRONTEND_PORT}:80’ //FRONTEND_PORT вот эту переменную надо поменять на то что хочешь

сразу предполагая проблема, если будешь хардкордить порт - то как то так

-‘${FRONTEND_INTERFACE}:50200:80’

backend я полагаю менять не надо

Silerus ★★★★★
()
Последнее исправление: Silerus (всего исправлений: 1)
Ответ на: комментарий от ubuntologs

да, только инсталяцию проводить не надо, когда создается контейнер, а это происходит при docker-compose up (docker-compose down контейнеры останавливаются и уничтожаются автоматически), при первом старте скачиваются и собираются образы, дальше они никак не изменяются

Silerus ★★★★★
()
Ответ на: комментарий от ubuntologs

Я хочу закрыть 80-й порт и входить к примеру http://ip:35285

Это не настолько сложная задача, что бы не нагуглить на неё ответ. Ваш вопрос очень близок к вопросу сколько будет 3-2*2 ? Или «Какой Толстой написал Войну и Мир?».

anc ★★★★★
()
Ответ на: комментарий от ubuntologs

остановить контейнеры, если написан systemd unit - systemctl stop имя юнита, если нет -то перейти в папку с docker-compose.yaml выполнить docker-compose down, внести изменения в файл, произвести запуск docker-compose up -d, если все нормально и использовался systemd - остановить docker-compose down, и выполнить запуск службы systemctl start имя юнита

Silerus ★★★★★
()
Ответ на: комментарий от ubuntologs

Это все равно что, нам надо перевесить картину -сломаем дом и построим его заново. Переустановка - гарантировано потеряешь данные. Докеры для того и придуманы, чтобы не руинить систему на каждый чих. Раз все это делал не ты - то:

  1. Узнай у того кто это делал, как запускались контейнеры (посмотри в директории /etc/systemd/system/ нет ли там файла с именем службы, которую ты пытаешься поправить)
  2. останови контейнеры
  3. внеси правки
  4. запусти все обратно Честно говоря за такие вмешательства, вообще без понимания что такое докеры и с чем их едят - мнеб в свое время ввалили люлей старшие
Silerus ★★★★★
()
Ответ на: комментарий от Silerus

root@24683:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b6895264ecf2 phpmyadmin/phpmyadmin:latest «/docker-entrypoint.…» 3 hours ago Up 3 hours 80/tcp ermac_panel_myadmin 1032845a538e www_golang «./server_go» 3 hours ago Up 3 hours 0.0.0.0:3434->3434/tcp, [::]:3434->3434/tcp ermac_golang b1fa9b571363 www_backend «docker-entrypoint p…» 3 hours ago Up 3 hours 9000/tcp www_backend_1 4270fe02ea4e www_nginx_frontend «/docker-entrypoint.…» 3 hours ago Up 3 hours 0.0.0.0:80->80/tcp ermac_panel_nginx_frontend a06a2f733f48 mysql:5.7.25 «docker-entrypoint.s…» 3 hours ago Up 3 hours 0.0.0.0:3306->3306/tcp, [::]:3306->3306/tcp, 33060/tcp ermac_panel_mysql 4259517d0a80 www_nginx «nginx -g ’daemon of…» 3 hours ago Up 3 hours 0.0.0.0:8081->80/tcp ermac_panel_nginx root@24683:~# Вот на этом примере можешь дать команды для выполнения?

ubuntologs
() автор топика
Ответ на: комментарий от ubuntologs

нет совсем неправильно. Так микро ликбез: В контейнеризации есть несколько сущностей: images - это образы операционных систем c некоторым программным содержимым (просто файлы на диске), containers - это запущенные операционные системы выполняющие конкретные задачи (запущен сервер баз данных, запущен веб сервер, запущена какая-то пользовательская программа), они существуют только пока запущены. volumes - хранилища, монтируемое пространство жестких дисков именные или без именные в которых хранятся данные результат работы контейнера (сам контейнер никак не изменяется, например mysql хранит свои данные внутри некоторого volume), networks - виртуальные сети, которые связывают между собой компьютеры. Т.е, для простоты, можешь считать что каждый запущенный контейнер - это отдельный компьютер и все они могут находится как в одной, так и в нескольких виртуальных компьютерных сетях. docker images - покажет тебе список образов, docker ps - список текущих работающих контейнеров, docker volume ls - список хранилищ, docker network ls - список сетей. Контейнеры запускаются по сценарию - это твой docker-compose.yaml. Теперь сами по себе контейнеры не запустятся (если их кто то не запустил вручную docker-compose up -d) - значит тебе надо узнать как они были запущены. Скорее всего кто то написал файл службы systemd unit, эти файлы обычно хранятся в /etc/systemd/system - внимательно иследуй эту директорию вдруг ты найдешь там файл с именем, который напоминает ваш программный комплекс

Silerus ★★★★★
()
Ответ на: комментарий от Silerus

root@24683:/etc/systemd/system# ls cloud-final.service.wants mdmonitor.service.wants sleep.target.wants snap.lxd.daemon.service sudo.service cloud-init.target.wants multi-user.target.wants snap-core20-2015.mount snap.lxd.daemon.unix.socket sysinit.target.wants dbus-org.freedesktop.resolve1.service multipath-tools.service snap-core20-2682.mount snap.lxd.user-daemon.service syslog.service dbus-org.freedesktop.timesync1.service netfilter-persistent.service.d snap-lxd-24322.mount snap.lxd.user-daemon.unix.socket timers.target.wants emergency.target.wants network-online.target.wants snap-lxd-35819.mount snapd.mounts.target.wants vmtoolsd.service final.target.wants open-vm-tools.service.requires snap-snapd-20092.mount sockets.target.wants getty.target.wants paths.target.wants snap-snapd-25577.mount sshd-keygen@.service.d iscsi.service

ubuntologs
() автор топика
Ответ на: комментарий от ubuntologs

ну вроде ничего такого нет. значит топаешь в папку с docke-compose.yaml, останавливаешь контейнеры docker-compose down, ждешь пару минут, для надежности, и убеждаешься что они не перезапустились docker ps, правишь yaml и запускаешь обратно dokcer-compose up -d

Silerus ★★★★★
()
Ответ на: комментарий от Silerus

/var/lib/docker/overlay2/e7840ee5e0e060bc2b34682be1f3bad8d9adbc1f986336b8ab0db55415c1f931/merged/usr/src/php/benchmark/docker-compose.yml /var/lib/docker/overlay2/678e69ab686602b130f5258285bd8b8e65fe33b2c3e17ebaeefb089954587f6f/diff/usr/src/php/benchmark/docker-compose.yml /var/www/docker-compose.yml

ubuntologs
() автор топика
Ответ на: комментарий от ubuntologs

Я пробывал там менять на свой порт и инсталлировать по новой

Да, тебе там надо поменять порт, docker compose down (удолит все контейнеры) и потом заново «инсталлировать» как ты делал. Ты бы лучше у чатгпт спросил, а то насуют тут тебе)

goingUp ★★★★★
()
Последнее исправление: goingUp (всего исправлений: 1)