Prisijungimas prie Docker konteinerio per sFTP gali būti naudingas programuotojams, kurie dirba su failais konteineryje. Pavyzdžiui, jei kuriate internetinę programą ir norite įkelti failus į serverį, galite prisijungti prie konteinerio per sFTP ir įkelti failus į serverį iš savo kūrimo aplinkos.
Be to, prisijungus prie Docker konteinerio per sFTP, galima naudoti įvairias sFTP funkcijas failų valdymui.
Docker konteinerio diegimas per sFTP.
Norint prisijungti prie Docker konteinerio per sFTP, pirmiausia reikia sukurti konteinerį, kuris bus paleistas nuotolinėje serverio vietoje. Tam galima naudoti docker run komandą. Pavyzdžiui, norint paleisti konteinerį su nginx, naudojant 2222 prievadą ir įdiegiant OpenSSH, galima naudoti šias komandas:
docker run -d -p 2222:22 --name nginx_latest nginx
docker exec -it nginx_latest apt-get update
docker exec -it nginx_latest apt-get install -y openssh-server
Šios komandos sukurs naują konteinerį, pavadinimu "nginx_latest", pagrįstą Nginx vaizdu ir įdiegs OpenSSH viduje konteinerio.
Nustatykite slaptažodį pasirinktam vartotojui.
Nustatykite slaptažodį root (arba bet kuriam kitam vartotojui, su kuriuo norite prisijungti), vykdydami šią komandą:
docker exec -it nginx_latest passwd root
Įveskite slaptažodį du kartus.
- Redaguokite konteineryje esantį failą /etc/ssh/sshd_config, pakeisdami PermitRootLogin without-password į PermitRootLogin yes. Norėdami prisijungti ir redaguoti jį, naudokite šią komandą:
docker exec -it nginx_latest bash
Naudokite mėgstamą redaktorių. Jei jo neturite, įdiekite jį.
- Paleiskite ssh serverį iš naujo, vykdydami šią komandą:
/etc/init.d/ssh restart
Prisijungimas prie Docker konteinerio per IP naudojant sFTP.
Tam reikia nustatyti konteinerio IP adresą ir prievadą, kuriame veikia SSH serveris. Tai galima padaryti naudojant docker inspect komandą. Pavyzdžiui, jei konteineris veikia 2222 prievade, galima naudoti šią komandą, norint gauti IP adresą:
docker inspect --format '{{ .NetworkSettings.IPAddress }}' nginx_latest
Ši komanda grąžins konteinerio IP adresą. Tada galite prisijungti prie konteinerio per sFTP, naudodami prisijungimo duomenis, nustatytus viduje konteinerio. Pavyzdžiui, naudojant sftp komandą:
sftp [email protected]
Kur root- vartotojo vardas, nustatytas viduje konteinerio, o ip-address - konteinerio IP adresas (172.17.0.4), gautas naudojant docker inspect komandą.
Prisijungimas naudojant FileZilla.
-
Meniu juostoje pasirinkite "Failas" ir tada "Svetainių valdymas" (arba naudokite šį klavišų derinį: "Ctrl+S").
- Svetainių valdymo lange spustelėkite "Nauja svetainė" ir įveskite savo svetainės pavadinimą.
- Laukuose "Hostas", "Prievadas", "Vartotojo vardas" ir "Slaptažodis" įveskite atitinkamus duomenis, naudodami informaciją iš savo Docker konteinerio. Pagal nutylėjimą, vartotojo vardas yra "root", o prievadas - "2222".
- Iš išskleidžiamojo sąrašo "Protokolas" pasirinkite "SFTP - SSH failų perdavimo protokolas".
- Spustelėkite "Prisijungti". Jei visi nustatymai yra teisingi, turėtumėte būti prisijungę prie savo Docker konteinerio per sFTP naudodami sFTP klientą.
Dabar galėsite prisijungti prie Docker konteinerio per sFTP, perduoti failus ir atlikti kitas failų operacijas nuotoliniame serveryje.
Taip pat siūlome apsvarstyti kitus naudingus straipsnius:
- Kaip nukopijuoti duomenis iš šeimininko į Docker ir iš Docker į šeimininką
- Svarbių komandų sąrašas darbui su Docker-compose
- Kaip įdiegti Redis Docker ir Docker Compose