如何拷贝Docker容器内的文件?
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,开始之前某个项目容器需要添加 wkhtmltopdf 软件包用于处理html与pdf文件转换,由于默认的apt源服务器在国外,使用apt 安装 wkhtmltopdf 时下载速度只有感人的几kb/s。
千家信息网最后更新 2025年02月02日如何拷贝Docker容器内的文件?
开始之前
某个项目容器需要添加 wkhtmltopdf
软件包用于处理html与pdf文件转换,由于默认的apt源服务器在国外,使用apt 安装 wkhtmltopdf 时下载速度只有感人的几kb/s。
我们需要更换一个国内的apt镜像地址,例如使用 阿里云、网易云、等开源镜像站。debain 或 ubuntu 系统 apt 仓库配置保存在 /etc/apt/sources.list
配置文件中,我们可以替换容器中的这个文件。
环境描述
容器镜像: php:5.6-fpm容器系统: debian 8 (jessie)配置文件: /etc/apt/sources.listDocker主机: Ubuntu Server 16.04
举个栗子
1 创建 sources.list文件,内容如下:
cat sources.listdeb http://mirrors.aliyun.com/debian/ jessie main non-free contribdeb http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free contribdeb-src http://mirrors.aliyun.com/debian/ jessie main non-free contribdeb-src http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free contrib
2 备份容器内的文件
docker cp crm-test:/etc/apt/sources.list /tmp/sources.list.bak
这个条命令将把容器内的 sources.list文件,拷贝到宿主机上的 /tmp/目录
3 替换容器内的 sources.list文件
docker cp sources.list crm-test:/etc/apt/sources.list
相反这个条命令将把宿主机上的文件拷贝到容器内
4 验证
docker exec -ti crm-test apt-get updateIgn http://mirrors.aliyun.com jessie InRelease省略...Fetched 22.0 MB in 19s (1120 kB/s)Reading package lists... Done
5 扩展 Dockerfile
每次都要为容器添加 sources.list文件实在是麻烦我们可以优化一下,把这个步骤定义在 Dockerfile 中例如:
head -n7 php/base/5.6/Dockerfile # php-fpm:5.6FROM php:5.6-fpmMAINTAINER dongnan# aptCOPY conf/sources.list /etc/apt/sources.list
命令帮助
docker cp --helpUsage: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATHCopy files/folders between a container and the local filesystemOptions: -a, --archive Archive mode (copy all uid/gid information) -L, --follow-link Always follow symbol link in SRC_PATH
小结
最后来总结下文章中的知识点
- docker cp子命令可以用来在容器与宿主机之间拷贝文件。
- 拷贝文件时没有提示会直接替换目的文件,请提前做好备份工作。
- 对于容器的 sources.list文件,可以自定义docker镜像。
参考文章
doker&k8s Qun [703906133]
文件
容器
拷贝
命令
镜像
宿主
配置
备份
文章
系统
感人
主机
之间
仓库
内容
只有
地址
宿主机
小结
服务器
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
Iuoan 工业网络安全
小学生课堂趣说网络安全
网络安全学院校企合作
美国的太空网络技术
java手机版服务器名称
省级贸易数据库
网络安全家长感悟300字
远程协助灰色服务器管理器
国际接轨的计算机软件开发语言
广州市科技网络技术技工学校
服务器与手机的网络连接
特别好的管理软件开发商
长宁区咨询软件开发程序
数据库四五范式
微梦创科网络技术有限公司张瑜
钢铁产业数据库
联想服务器配置参数
2020全球网络安全大会
服务器开发高级架构
如何设置iis服务器安全
大学生常见的网络安全问题
国家如何加强网络安全立法
数据库怎么连接java
莫斯科出租车网络技术
数据库索引入门
北京团购电商软件开发
重庆天象网络技术
关于软件开发的实习任务书
网络安全知识进校园直播
数据库的用户名和密码怎么查