Vraag Gegevens van buitenaf in mijn linux-container krijgen?


Ik probeer mijn database en mijn PHP-applicatie te scheiden door LXC te gebruiken.

Ik ondervind momenteel problemen om mijn code in een van de containers te distribueren. Ik begrijp niet hoe dit moet werken.

Mijn huidige setup is een VPS waarmee DeployHQ verbinding maakt via SSH - uploadt de applicatie vanuit GitHub en voert een paar commando's uit.

Maar die oplossingen lijken niet mogelijk met mijn containers - dus mijn vraag is: wat moet ik nu doen?

Ik kan de code krijgen om de machine te hosten - maar hoe krijg ik de code naar mijn container terwijl ik er zeker van ben dat de gebruikersrechten voor de gast correct zijn?


2
2018-01-08 21:09


oorsprong




antwoorden:


De meest voor de hand liggende manier is om LXC te laten werken zoals je VPS deed. Daarvoor moet u mogelijk een NAT-regel instellen op de host die een externe poort doorstuurt naar de poort 22 van de LXC-container.

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2022 -j DNAT --to 10.0.3.123:22

(stuur poort 2022 op eth0 door naar de container met IP 10.0.3.123 op poort 22).

Een alternatief is om het via het hostbestandssysteem te doen, daar heb je twee oplossingen:

  • Kopieer direct naar / var / lib / lxc / CONTAINER / rootfs / ...
  • Stel een binding-mount in / var / lib / lxc / CONTAINER / fstab in voor een pad op de host naar een pad in de container. (bijv. "/ srv / site srv / site none bind, ro 0 0" zal een read-only bind-mount van / srv / site op de host van / srv / site in de container instellen. Beide paden moeten vóór de container bestaan beginnen.

In beide gevallen moet u ervoor zorgen dat het eigendom overeenkomt met het eigendomsrecht in uw container, dus u wilt waarschijnlijk welke updates dat pad op de host doet dan een goede oude chown -R naar de juiste waarden.


3
2018-01-08 21:18



Rechtstreeks naar de container kopiëren en naar de juiste nummerieke uid en gid werken werkte perfect. Dank je. - Repox