LINUX.ORG.RU
решено ФорумAdmin

lxc внешний доступ к контейнеру

 ,


0

1

Есть впн. У нее есть внешний ip. Что мне нужно сделать: 1. контейнер с апачем + фтп + mysql. 2. Сделать доступ к сайту внутри контейнера. И удаленный доступ к mysql(не с хост машины).

Первый пункт - я сделал. Второй - не могу нагуглить

★★★★

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

iptables, в духе:

-A PREROUTING -i eth0 -p tcp -m tcp --dport 33306 -j DNAT --to-destination 10.0.0.77:3306

Но лучше БД держать на хосте и из контейнера к ней обращаться. И производительность на хосте выше и нет оверхеда из-за дублирования ненужного кеширования и резервов памяти в каждом контейнере. И, опять же, при большой базе контейнер бэкапить/переность проще.

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

lxc

дублирования ненужного кеширования

О каких кешах идёт речь, если не секрет?

UPD:

К слову, речь идёт о вынесении на хост только файлов или БД целиком?

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

О каких кешах идёт речь, если не секрет?

MySQL для нормальной работы кроме собственно данных БД много чего держит про запас в кешах и буферах. Выгоднее держать один сервер с несколькими БД, чтобы кеширование было общее (скажем, память тратилась бы на более часто используемую БД при неравномерной загрузке), чем иметь несколько серверов, по одному на каждую БД.

речь идёт о вынесении на хост только файлов или БД целиком?

Речь о том, чтобы в контейнере вообще не держать по своему mysql-серверу в каждом, а иметь один mysql на всех в хосте. Заодно это позволит довольно сильно урезать объёмы необходимой памяти контейнерам.

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

Если честно, я даже не думал о таком развитии событий. Вроде бы имеем контейнеры, всё делалось ради изоляции и управления ресурсами (выберите нужное). Но общая БД всё перечёркивает, да и вообще усложняет эксплуатационную рутину.

Так что тут тоже не без недостатков.

А идеальный сценарий, на мой взляд, предполагает поднятие эдакого DBaaS на тех же контейнерах. Но тут уже, имхо, нужен большой парк приложений (и заведомо больше одной тачки), чтобы усилия окупились.

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

Что-то у меня не получается сделать проброс порта. Что не правильно ?

iptables -t nat -A PREROUTING -p tcp -m tcp -d 192.168.0.100 --dport 33306 -j DNAT --to-destination 192.168.0.11:22
iptables -t nat -A POSTROUTING -p tcp -m tcp -s 192.168.0.11 --sport 22 -j SNAT --to-source 192.168.0.100:33306

далее пытаюсь приконектиться к контейнеру

ssh -p 33306 root@192.168.0.100

И глухо

PS:порт 33306 выбран просто так, потом поменяется на что-то типа 22222

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

Вангую они у вас в одной подсети? Если да, то ответ от 192.168.0.11 пойдет напрямую.

anc ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.