synchronization
This commit is contained in:
		
							
								
								
									
										94
									
								
								使用文档/Kubernetes拷贝文件.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										94
									
								
								使用文档/Kubernetes拷贝文件.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,94 @@
 | 
			
		||||
> 本文作者:丁辉
 | 
			
		||||
 | 
			
		||||
# Kubernetes 拷贝文件
 | 
			
		||||
 | 
			
		||||
## 拷贝容器内文件到本地
 | 
			
		||||
 | 
			
		||||
### 方法一
 | 
			
		||||
 | 
			
		||||
**使用 kubectl cp 拷贝**
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
kubectl -n 命名空间 cp 容器名:/容器内文件路径 ./拷贝到本地文件名
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
> 示例:
 | 
			
		||||
>
 | 
			
		||||
> ```bash
 | 
			
		||||
> kubectl -n test cp nginx-6db97db958-zrb7r:etc/nginx/nginx.conf ./nginx.conf
 | 
			
		||||
> ```
 | 
			
		||||
>
 | 
			
		||||
> **执行命令提示**
 | 
			
		||||
>
 | 
			
		||||
> ```bash
 | 
			
		||||
> tar: Removing leading `/' from member names
 | 
			
		||||
> ```
 | 
			
		||||
>
 | 
			
		||||
> 这是在提示你在 `kubectl -n 命名空间 cp 容器名:<这里开头不用加 "/" >`
 | 
			
		||||
 | 
			
		||||
### 方法二
 | 
			
		||||
 | 
			
		||||
**寻找到本地 Docker 持久化存储 拷贝文件到本地**
 | 
			
		||||
 | 
			
		||||
- 获取容器 ID
 | 
			
		||||
 | 
			
		||||
  ```bash
 | 
			
		||||
    CONTAINER_ID=$(kubectl -n 命名空间 describe  pod 容器名 | grep "Container ID:" | awk -F '/' '{print $3}')
 | 
			
		||||
  ```
 | 
			
		||||
 | 
			
		||||
  > 示例:
 | 
			
		||||
  >
 | 
			
		||||
  > ```bash
 | 
			
		||||
  > CONTAINER_ID=$(kubectl -n test describe  pod nginx-6db97db958-zrb7r | grep "Container ID:" | awk -F '/' '{print $3}')
 | 
			
		||||
  > ```
 | 
			
		||||
 | 
			
		||||
- 获取存储路径
 | 
			
		||||
 | 
			
		||||
  ```bash
 | 
			
		||||
  docker inspect -f '{{.GraphDriver.Data.UpperDir}}' $CONTAINER_ID
 | 
			
		||||
  ```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### 方法三
 | 
			
		||||
 | 
			
		||||
- 获取容器名称
 | 
			
		||||
 | 
			
		||||
  ```bash
 | 
			
		||||
  kubectl -n 命名空间 describe  pod 容器名 | grep "Containers:" -A 1
 | 
			
		||||
  ```
 | 
			
		||||
 | 
			
		||||
  > 示例:
 | 
			
		||||
  >
 | 
			
		||||
  > ```
 | 
			
		||||
  > kubectl -n test describe  pod nginx-6db97db958-zrb7r | grep "Containers:" -A 1
 | 
			
		||||
  > ```
 | 
			
		||||
 | 
			
		||||
- 寻找 Docker 容器
 | 
			
		||||
 | 
			
		||||
  ```bash
 | 
			
		||||
  docker ps | grep 容器名称
 | 
			
		||||
  ```
 | 
			
		||||
 | 
			
		||||
- 拷贝容器内文件
 | 
			
		||||
 | 
			
		||||
  ```bash
 | 
			
		||||
  docker cp 容器名称:/容器内路径 ./本地路径
 | 
			
		||||
  ```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## 拷贝本地文件到容器内
 | 
			
		||||
 | 
			
		||||
**使用 kubectl cp 拷贝**
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
kubectl -n 命名空间 cp ./本地文件名 容器名:/容器内路径
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
> 示例:
 | 
			
		||||
>
 | 
			
		||||
> ```bash
 | 
			
		||||
> kubectl -n test cp ./default.conf nginx-6db97db958-zrb7r:/etc/nginx/conf.d/
 | 
			
		||||
> ```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user