opened image

როგორ შემოხვდეთ Docker კონტეინერთან SFTP-ს დახედა?

სამუშაოდ დოკერ კონტეინერთან sFTP-ზე დაკავშირება შეიძლება სასურველი იყოს პროგრამისტებისთვის, რომლებიც ფაილებს სამუშაოდ გამოიყენებენ კონტეინერში. მაგალითად, თუ თქვენ ვებ-აპლიკაციას გააჩნიათ და გსურთ ფაილები ატვირთოთ სერვერზე, შეგიძლიათ sFTP-ზე დაკავშირება და ფაილები ატვირთოთ სერვერზე თქვენი გამოსახულების გარეშე.
დამატებითისად, sFTP-ზე დოკერ კონტეინერთან დაკავშირებისას, შეგიძლიათ გამოიყენოთ სხვადასხვა sFTP ფუნქციები ფაილების მართვისთვის. 



დოკერ კონტეინერის განაწილება sFTP-ზე.



დოკერ კონტეინერთან sFTP-ზე დაკავშირებისთვის საწყისად საჭიროა კონტეინერის შექმნა, რომელიც გაშვებული იქნება რემოტ სერვერზე. ამისთვის შეგიძლიათ გამოიყენოთ docker run ბრძანება. მაგალითად, კონტეინერის გაშვებისთვის nginx-ის კონტეინერის გაშვებისას 2222 პორტზე და OpenSSH-ის დაყენებისას შეგიძლიათ გამოიყენოთ შემდეგი ბრძანებები:

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



 

ეს ბრძანებები შექმნის ახალ კონტეინერს, რომელიც გარდაიქმნება "nginx_latest" და დაყენებს OpenSSH-ს კონტეინერში. 



დაყენებისთვის აირჩიეთ პაროლი არჩეულ მომხმარებლად.

დააყენეთ პაროლი root-ისთვის (ან ნებისმიერი სხვა მომხმარებელისთვის, რომელთანაც გსურთ დაკავშირება), შემდეგი ბრძანების გაშვებით:

 

 

 

docker exec -it nginx_latest passwd root

 


შეიყვანეთ პაროლი ორჯერ.
 


 

 

  • რედაქტირებადიათ კონტეინერში ფაილი /etc/ssh/sshd_config, შეცვლილია PermitRootLogin without-password რომელიც უნდა შეცვალოთ PermitRootLogin yes. რომ დაკავშირდეთ და შეცვალოთ ის, გამოიყენეთ შემდეგი ბრძანება:

 

docker exec -it nginx_latest bash


 

გამოიყენეთ სასურველი რედაქტორი. თუ არ გაქვთ, დააყენეთ იგი.



 

 

 

  • შეარჩიეთ ssh-სერვერის გადატვირთვისას ბრძანება:

 

 

/etc/init.d/ssh restart



 

შემომეხმარება Docker კონტეინერზე IP-სთვის SFTP-საშუალებით.




ამისათვის, საჭიროა განსაზღვროთ კონტეინერის IP მისამართი და პორტი, სადაც გაშვებულია SSH სერვერი. ეს შეიძლება გაკეთებულია docker inspect ბრძანებით. მაგალითად, თუ კონტეინერი გაშვებულია პორტზე 2222, შეგიძლიათ გამოიყენოთ შემდეგი ბრძანება IP მისამართის მისამართისთვის:

 

 

 

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

 




 

ეს ბრძანება დააბრუნებს IP მისამართს. შემდეგ შეგიძლიათ შემოხმარობა გამოგიყენოთ sFTP-ის საშუალებით კონტეინერთან შემომეხმარებითად დაყენებული მომხმარებლის ინფორმაციას. მაგალითად, კომანდით sftp:

 

 

 

 

sftp [email protected]

 


 

სადაც root- კონტეინერში დაყენებული მომხმარებელის სახელია, ხოლო ip-address - კონტეინერის IP მისამართი (172.17.0.4), რომელსაც შემდეგი ბრძანებით docker inspect მიიღებთ.




 

შეერთეთ FileZilla-ს საშუალებით.

 

  1. ფაილზილასსთან შეერთეთ ბრძანება "ფაილი"-ში დაარჩიეთ "საიტების მართვა" (ან გამოიყენეთ "Ctrl+S" მაჩვენებელი).

  2. შეარჩიეთ "საიტების მართვა"-ში დააჭირეთ "ახალი საიტი" და შეიყვანეთ თქვენი საიტის სახელი.
  3. შეიყვანეთ "ჰოსტი", "პორტი", "მომხმარებლის სახელი" და "პაროლი" თქვენი Docker კონტეინერიდან წამოიყვანეთ საშუალებით. ნაგულისხმევად, მომხმარებლის სახელი არის "root", ხოლო პორტი არის "2222".
  4. შეარჩიეთ "პროტოკოლი"-ში "SFTP - SSH File Transfer Protocol".
  5. დააჭირეთ "დაკავშირება". თუ ყველა პარამეტრი სწორია, თქვენ უნდა შეხვდეთ თქვენს Docker კონტეინერზე SFTP-კლიენტის საშუალებით.

 

ჩვენ ასევე გირჩევთ გაითვალისწინოთ სხვა სასარგებლო სტატიები: