КІРУ
    opened image

    Алдын ала ақпараттардан көріп отырғанымыздай, Docker әртүрлі қолданбаларды орнату мен іске қосу процессін жеңілдете алады.

    Бірақ қандай-қандай жағдайларда файлдарды хост машинасынан Docker контейнеріне жіберу, контейнерден хостқа жіберу қажет.

    Осы мақалада біз бұлды қалай жасауға болады.

     


    Төмендегі командалар, Docker-ді өзіңізде орнатқаныңызды айтатындай. Ол жоқ болса, оны қалай орнатуға болады, сіз осы мақалаларда оқи аласыз: "Centos 7-ге Docker-ді қалай орнату" немесе "Ubuntu 20.04-ге Docker-ді қалай орнату".
     

    Хост-жүйесінен Docker-контейнерге файлдарды көшіру.


    Docker-ге және онан шығару үшін, docker cp құралын пайдаланамыз.

    docker cp құралы көшірілетін мазмұнын назар аударып, оның назначение орынға көшіреді.

    Сіз контейнер файл жүйесінен локалды компьютерге немесе оның терісінен контейнерге көшіре аласыз.


    Мысалы: Локалды хост -> Контейнер

    docker cp <хост машинасындағы файлдың мекен-жайы> containerid:<контейнердең файлдың мекен-жайы>
    


    Мысалы: Контейнер -> Локалды хост

     

    docker cp containerid:<хост машинасындағы файлдың мекен-жайы> <хост машинасындағы файлдың мекен-жайы>
    



    Өтінеміз, бұлды қарап алу үшін дайындаған докер Nginx образының қарапайым мисалын пайдалана аламыз.

    Келесі команданы пайдалана аламыз:

     

     

    docker run -d --name nginx_copy nginx
    

     


    мынаның ішінде: 
    nginx_copy - контейнердің атауы (кез келгендей пайдалануға болады)
    nginx - docker hub-тағы образдың атауы, оны пайдаланамыз


    Егер сізде бұл контейнер жоқ болса, оны жүктеп алуға дейін күту керек. 


     

    Қазір контейнерге кіріп, оны қарау/білу үшін кіріңіз.

     

     

    docker exec -it nginx_copy /bin/bash
    

     


    Қазір терминалда /etc/nginx жолының мазмұнын шығарамыз

     

     

    ls -la  /etc/nginx/
    

     


    Мысалы, бізге nginx.conf конфигурациялық файлын көшіру қажет және ол /etc/nginx/nginx.conf мекен-жайында орналасқаны белгілі. Осы үшін келесі команданы енгіземіз:

     

     

    docker cp nginx_copy:/etc/nginx/nginx.conf ~/nginx.conf
    

     


    Мысалы:

    nginx_copy - көшіретін контейнер;
    /etc/nginx/nginx.conf - көшірілетін файлдың мекен-жайы;
    ~/nginx.conf - назначение жері мен файлдың атауы (атауын басқа да белгілеу мүмкін)

    Қорытындыны көрейік:

     

     

     

    ls -la
    

     



    Көріп отырғанымыздай, файл сәтті хостқа көшірілді. Оны өзгерте аламыз, содан кейін қайта жүктеп аламыз.

     

     

    Файлды контейнерге көшіру.


    Әлі де өзгертілген nginx.conf файлын контейнерге қайтару үшін, осы құрылымды пайдалана аламыз:

     

     

     

     

    docker cp ~/nginx.conf nginx_copy:/etc/nginx/nginx.conf_cp
    

     


    Егер барлығы дұрыс енгізілген болса, біз осы файлды контейнерде көре аламыз.

    Контейнерге кіріңіз:

     

     

    docker exec -it nginx_copy /bin/bash
    

     


    Және /etc/nginx жолының тізімін шығарамыз:

     

     

    ls -la
    

     



     

    Көріп отырғанымыздай, жаңа файл контейнер ішіне көшірілді. 

    Осы жүйе бойынша, контейнерден хостқа және оның терісіне деректерді көшіру мүмкін.