Dockers: Pieslēdzamies pie localhost no konteinera

Uznāca vajadzība izmantot Robot Framework docker image, lai nevajadzētu to visu instalēt lokāli. Te arī saskāros ar jau piemirstu problēmu - kā tad īsti pieslēgties pie localhost, kur man ir LAMP no konteinera kurā griežās RobotFramework?


Bet nu pēc kārtas:

  • RobotFramework docker image es izmantoju šo - ppodgorsek. Manuprāt, labākais no pieejamajiem.
  • Uz linux laptopa man griežas LAMP, par to daudz neko nestāstīšu, apache2, php 7.3, mysql 10.3.39-MariaDB.

Tātad, problēma ir tāda, ka mēs nevaram norādīt adresi kā localhost, vai 127.0.0.1 tāpēc, ka tāda pat adrese tiek izmantota konteinerā. Vienkāršākais veids, kā atrast jauno adresi ar kuru nomainīt localhost, ir:

ip addr show docker0

Bet, mēs taču varam iet arī drusku interesantāku ceļu, vai ne?

Ok, ielādēsim kādu mazu docker image, teiksim, nginx.

docker pull nginx

Palaidīsim šo imidžu un no konteinera arī pamēģināsim pieslēgties pie jaunās adreses, kur ir norādīta augstāk redzamās komandas izvadā:

docker run -d nginx

atrodam konteinera id:

docker ps | grep nginx

Pieslēdzamies pie konteinera un mēģinam pieslēgties pie mūsu linux localhost:

docker exec -it konteinera_adrese_no_iepriekšējās_komandas -- bash
curl izvads-no-ip-addr-saturošās-komandas




Message
Username
Password