Docker进入容器 Docker容器与主机间的文件传输方法(复制/上传/下载)

su root
rz -y

查看日志
 
进入容器
sudo docker exec -it “容器ID” bash
将主机的文件复制到容器里:
sudo docker cp 主机目录 容器ID:容器目录

退出container 输入: exit 1 或者按键: Ctrl + C

进入容器:(不要用这种 docker attach)

docker attach 44fc0f0582d9  

但是这种方式有缺点,当多个窗口同时使用该命令进入该容器时,所有的窗口都会同步显示。如果有一个窗口阻塞了,那么其他窗口也无法再进行操作。

有同学在docker下安装了nginx 但是不知道目录在哪,可以使用命令:
sudo find / -name "50x.html"
因为nginx里必定会有50x.html,所以查找它,结果发现nginx的目录在docker容器里,如果操作它,就需要进入容器的shell。
必须先启动容器:
sudo docker start “容器ID”
然后使用下边的命令进入shell:
sudo docker exec -it “容器ID” bash
将主机的文件复制到容器里:
sudo docker cp 主机目录 容器ID:容器目录

2、查看容器ID

1

2

3

4

root@kobe:/opt/software/temp/test# docker ps

CONTAINER ID    IMAGE        COMMAND         CREATED       STATUS       PORTS                    NAMES

688e83c55129    mysql        "docker-entrypoint.s…"  6 days ago     Up 3 seconds    0.0.0.0:3306->3306/tcp            first-mysql

688e83c55129    这个就是容器的ID了

3、新建需要复制的测试文件

示例位置和文件名    /opt/software/temp/test/test.txt

4、复制到容器中

1

docker cp /opt/software/temp/test/test.txt 688e83c55129:/test/

5、进入容器查看是否已复制

1

docker exec -it 688e83c55129 bash

6、从容器复制文件到主机

先删除主机上的test.txt,然后

1

docker cp 688e83c55129:/test/test.txt /opt/software/temp/test/

例如: 容器路径要参考DockerFile中  # 设置工作目录  WORKDIR /app  的路径,     

docker cp 688e83c55129:/app/Logs/test.txt /www

以上就是主机与容器之间传输文件的方式了,简单易用。

//以elasticsearch容器为例
//运行es
docker run -d -p 9200:9200  elasticsearch:5.4
//查看已运行的容器
docker ps
//进去容器内部,找到需要拷贝的文件及目录
docker exec -it 2c2600fb60f8 /bin/bash
//从容器中退出
exit
//将container id为4db8edd86202的容器内elasticsearch.yml文件拷贝到宿主机指定目录下:
docker cp 4db8edd86202:/usr/share/elasticsearch/config/elasticsearch.yml /home/haopeng/es

实例:

进入容器 大会议室网关
docker exec -it 74b4c493f350 bash 
docker cp 74b4c493f350:/app/SmartClassroomServer.db /root/hwt/
docker cp 74b4c493f350:/app/ /root/hwt/SmartGateway

docker exec -it 0e6402e606b6 bash 
docker cp 0e6402e606b6:/app/appsettings.json /root/hwt/
docker cp 0e6402e606b6:/app/ /root/hwt/SmartWeb

docker cp /root/hwt/appsettings.json 0e6402e606b6:/app/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值