opened image

Kā izveidot savienojumu ar Docker konteineru, izmantojot sFTP

Savienošanās ar Docker konteineri caur sFTP var būt noderīga attīstītājiem, kuri strādā ar failiem iekšā konteinerī. Piemēram, ja jūs izstrādājat web lietojumprogrammu un vēlaties augšupielādēt failus uz servera, jūs varat savienoties ar konteineri caur sFTP un augšupielādēt failus uz servera no savas attīstības vides.
Papildus, savienojoties ar Docker konteineri caur sFTP, varat izmantot dažādas sFTP funkcijas failu pārvaldībai. 



Docker konteineru izvietošana caur sFTP.



Lai savienotos ar Docker konteineri caur sFTP, vispirms ir jāizveido konteiners, kas tiks palaists attālinātajā serverī. To var izdarīt, izmantojot docker run komandu. Piemēram, lai palaistu konteineri ar nginx uz 2222 portu un instalētu OpenSSH, var izmantot šādas 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



 

Šīs komandas izveidos jaunu konteineri ar nosaukumu "nginx_latest", pamatojoties uz Nginx attēlu un iestatīs OpenSSH iekšā konteinerī. 



Iestatiet paroli izvēlētajam lietotājam.

Iestatiet paroli root (vai jebkuram citam lietotājam, ar kuru vēlaties savienoties), izpildot šo komandu:

 

 

 

docker exec -it nginx_latest passwd root

 


Ievadiet paroli divreiz.
 


 

 

  • Rediģējiet konteinerī failu /etc/ssh/sshd_config, aizstājot PermitRootLogin without-password ar PermitRootLogin yes. Lai piekļūtu un rediģētu to, izmantojiet šo komandu:

 

docker exec -it nginx_latest bash


 

Izmantojiet izvēlēto redaktoru. Ja tāda nav, instalējiet to.



 

 

  • Restartējiet ssh serveri, izpildot šo komandu:

 

 

/etc/init.d/ssh restart



 

Savienošanās ar Docker konteineri pēc IP izmantojot sFTP.




Lai to izdarītu, jums ir jānosaka konteinerī esošā IP adrese un ports, kurā darbojas SSH serveris. To var izdarīt, izmantojot docker inspect komandu. Piemēram, ja konteiners darbojas uz 2222 portu, var izmantot šo komandu, lai iegūtu IP adresi:

 

 

 

docker inspect --format '{{ .NetworkSettings.IPAddress }}' nginx_latest

 




 

Šī komanda atgriezīs konteinerī esošo IP adresi. Pēc tam varat savienoties ar konteineri caur sFTP, izmantojot lietotāja akreditācijas datus, kas ir iestatīti iekšā konteinerī. Piemēram, izmantojot sftp komandu:

 

 

 

 

sftp [email protected]

 


 

Kur root ir lietotāja nosaukums, kas ir iestatīts iekšā konteinerī, un ip-adrese ir konteinerī esošā IP adrese (172.17.0.4), kas ir iegūta ar docker inspect komandu.




 

Savienošanās ar FileZilla palīdzību.

 

  1. Izvēlnē "Fails" atlasiet "Vietnes pārvaldība" (vai izmantojiet saīsni "Ctrl+S").

  2. Vietņu pārvaldības logā noklikšķiniet uz pogas "Jauna vietne" un ievadiet savas vietnes nosaukumu.
  3. Laukos "Resursdators", "Ports", "Lietotājvārds" un "Parole" ievadiet atbilstošos datus, izmantojot informāciju no jūsu Docker konteinerī. Pēc noklusējuma lietotājvārds ir "root", un ports ir "2222".
  4. Nolaižamajā izvēlnē "Protokols" atlasiet "SFTP - SSH failu pārsūtīšanas protokols".
  5. Noklikšķiniet uz "Savienoties". Ja visi iestatījumi ir pareizi, jums vajadzētu būt savienotam ar savu Docker konteineri caur sFTP, izmantojot sFTP klientu.

 


 

 

Tagad jūs varat savienoties ar Docker konteineri caur sFTP, pārsūtīt failus un veikt citus failu operācijas attālinātajā serverī.

Mēs iesakām apsvērt arī citus noderīgus rakstus: