docker拷贝文件到容器内
需求场景
开发同事告知,需要将 Device_Si.zip
拷贝到 http://172.31.39.210:46162
这个docker内的 /www
目录下
方法1:通过 docker inspect 找到映射目录来拷贝
- 1.登录
172.31.39.210
执行docker ps
找到 46162 端口对应的容器名称 为amazing_franklin
[app@ip-172-31-39-210 docker]$ docker ps
CONTAINER ID IMAGE PORTS NAMES
6c74838d2dee hzwtech/hzwtech2021:v0.1 5901/tcp, 0.0.0.0:46162->6901/tcp amazing_franklin
- 2.执行
docker inspect 容器名称或容器id
找到映射目录 为/home/app/docker
[app@ip-172-31-39-210 docker]$ docker inspect amazing_franklin
"HostConfig": {
"Binds": [
"/home/app/docker:/headless/Desktop/docker"
],
- 3.将
Device_Si.zip
拷贝到宿主机的映射目录下
[app@ip-172-31-39-210 docker]$ ll /home/app/docker/Device_Si.zip
- 4.进入docker内,通过 cp 将该文件转移到开发同事要求的容器目录下
[app@ip-172-31-39-210 docker]$ docker exec -it amazing_franklin /bin/bash
bash-4.2# cp /headless/Desktop/docker/Device_Si.zip /www/
bash-4.2# ls -l /www/Device_Si.zip
bash-4.2# exit
方法2:通过 docker cp 来拷贝文件 [推荐]
- 通过 docker cp 宿主机文件 容器名称:容器内目录 将宿主机的文件拷贝到容器内的目录下
[app@ip-172-31-39-210 docker]$ docker ps
CONTAINER ID IMAGE PORTS NAMES
6c74838d2dee hzwtech/hzwtech2021:v0.1 5901/tcp, 0.0.0.0:46162->6901/tcp amazing_franklin
[app@ip-172-31-39-210 docker]$ docker cp /opt/Device_Si.zip amazing_franklin:/www/
- 反之,通过 docker cp 容器名称:容器内文件 宿主机目录 将容器内的文件拷贝到宿主机的目录下
docker cp amazing_franklin:/www/Device_Si.zip /opt/bak/