შესვლა
    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



     

    დოკერ კონტეინერთან დაკავშირება IP-ის გამოყენებით sFTP-ზე.




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

     

     

     

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