---
title: 'Jak skopiować dane z hosta do Docker i z Docker na hosta | Zomro'
description: 'Czasami konieczne jest przesłanie plików z maszyny hostującej do kontenera Docker i odwrotnie. W tym artykule zobaczymy, jak to zrobić.'
image: 'https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2022/11/01/1669746477_1.png'
---

![opened image]()

  * [Zomro](https://zomro.com/pl/)
  * [FAQ](https://zomro.com/pl/blog/faq/)
  * Jak skopiować dane z hosta do Docker i z Docker na hosta 



# Jak skopiować dane z hosta do Docker i z Docker na hosta

14-11-2022

Jak widzieliśmy z poprzednich artykułów, Docker może ułatwić wdrażanie różnych aplikacji i ich uruchamianie.  
  
Ale czasami musisz przesyłać pliki z maszyny hosta do kontenera Docker i z kontenera na hosta.  
  
W tym artykule dowiemy się, jak to zrobić.  


  
Poniższe polecenia zakładają, że Docker jest już zainstalowany. Jeśli nie, możesz dowiedzieć się, jak to zrobić w artykułach: "[Jak zainstalować Dockera na Centos 7](https://zomro.com/rus/blog/faq/287-kak-ustanovit-docker-na-centos-7)" lub "[Jak zainstalować Dockera na Ubuntu 20.04](https://zomro.com/rus/blog/faq/286-kak-ustanovit-docker-na-ubuntu-2004)".  


## Kopiowanie plików z systemu hosta do kontenera Docker.

  
Aby skopiować do i z Docker, użyjemy narzędzia **docker cp**.  
  
Narzędzie **docker cp** kopiuje zawartość źródła do miejsca docelowego.  
  
Możesz kopiować z systemu plików kontenera na komputer lokalny lub odwrotnie, z lokalnego systemu plików do kontenera.  
  
  
**Przykład: Lokalny host - > Kontener**
    
    
    docker cp <ścieżka do pliku na maszynie hosta> containerid:<ścieżka do pliku w kontenerze>
    

  
**Przykład: Kontener - > Lokalny host**
    
    
    docker cp containerid:<ścieżka do pliku na maszynie hosta> <ścieżka do pliku na maszynie hosta>
    

  
  
Zobaczmy to w akcji na prostym przykładzie obrazu Docker Nginx.  
  
Możemy użyć następującego polecenia:
    
    
    docker run -d --name nginx_copy nginx
    

  
gdzie:  
**nginx_copy** \- nazwa kontenera (możesz użyć dowolnej)  
**nginx** \- nazwa obrazu na Docker Hub, który będziemy używać  
  
  
Jeśli nie masz tego kontenera na serwerze, poczekaj, aż zostanie pobrany.   
  
![Jak skopiować dane z hosta do Docker i z Docker na hosta](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2022/11/01/1669746477_1.png)  


Teraz wejdźmy do kontenera, aby zobaczyć/gdzie skopiować plik.
    
    
    docker exec -it nginx_copy /bin/bash
    

  
Teraz wyświetl zawartość folderu /etc/nginx w terminalu
    
    
    ls -la  /etc/nginx/
    

  
Na przykład, chcemy skopiować plik konfiguracyjny nginx.conf i wiemy, że znajduje się pod ścieżką /etc/nginx/nginx.conf. Wprowadź następujące polecenie:
    
    
    docker cp nginx_copy:/etc/nginx/nginx.conf ~/nginx.conf
    

  
Gdzie:  
  
**nginx_copy** \- kontener, z którego kopiujemy;  
**/etc/nginx/nginx.conf** \- ścieżka do pliku, który chcemy skopiować;  
**~/nginx.conf** \- miejsce docelowe i nazwa pliku (nazwę pliku można zmienić)  
  
Teraz zobaczmy wynik:
    
    
    ls -la
    

  
![Jak skopiować dane z hosta do Docker i z Docker na hosta-1](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2022/11/01/1669746815_2.png)  
Jak widać, plik został pomyślnie skopiowany na hosta. Teraz możemy go zmienić, a następnie ponownie go załadować.

## **Jak skopiować plik do kontenera.**

  
Załóżmy teraz, że chcemy skopiować zmieniony plik nginx.conf z powrotem do kontenera. Możemy skorzystać z następującej konstrukcji:
    
    
    docker cp ~/nginx.conf nginx_copy:/etc/nginx/nginx.conf_cp
    

  
Jeśli wszystko zostało wprowadzone poprawnie, będziemy mogli zobaczyć ten plik w kontenerze.  
  
Wejdźmy do kontenera:
    
    
    docker exec -it nginx_copy /bin/bash
    

  
I wyświetl listę katalogu **/etc/nginx:**
    
    
    ls -la
    

  
![Jak skopiować dane z hosta do Docker i z Docker na hosta-2](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2022/11/01/1669747156_3.png)  


Jak możemy zobaczyć, nowy plik został skopiowany do wnętrza kontenera.   
  
Według tego samego zasady można przenosić dane z kontenera na hosta i odwrotnie.   


Sugerujemy również rozważenie innych przydatnych artykułów:

  * [List of important commands for working with Docker-compose](https://zomro.com/blog/faq/304-spisok-vazhnyh-komand-dlja-raboty-s-docker-compose)
  * [How to Deploy Any Version of PHP in Docker-Compose](https://zomro.com/blog/faq/348-how-to-deploy-any-version-of-php-in-docker-compose-for-beginners)
  * [How to connect to a Docker container via sFTP](https://zomro.com/blog/faq/306-how-to-connect-to-a-docker-container-via-sftp)



Similar articles:

[Jak zainstalować FileBrowser w Dockerze](https://zomro.com/pl/blog/faq/293-kak-ustanovit-file-browser-v-docker) [Błąd 406 Not Acceptable](https://zomro.com/pl/blog/faq/491-error-406-not-acceptable) [Jak zainstalować Nginx w Docker-Compose](https://zomro.com/pl/blog/faq/317-kak-ustanovit-nginx-v-docker-compose) [FTP-protokół: Szczegóły dotyczące przesyłania plików](https://zomro.com/pl/blog/faq/447-ftp-protokol-podrobno-o-peredache-fajlov) [Jak zainstalować własny terminal MT na koncie FXTrade?](https://zomro.com/pl/blog/faq/184-kak-ustanovit-svoj-terminal-mt-na-fxtrade-akkaunt)

[ Serwery dedykowane od €88.80/mies ](/pl/dedicated-servers)
