开始之前
某个项目容器需要添加<代码> wkhtmltopdf 代码>软件包用于处理html与pdf文件转换,由于默认的apt源服务器在国外,使用恰当的安装wkhtmltopdf时下载速度只有感人的几kb/s。
我们需要更换一个国内的apt镜像地址,例如使用阿里云,网易云,等开源镜像站。<强> debain或ubuntu系统强> apt仓库配置保存在<代码>/etc/恰当的来源。列表> 代码配置文件中,我们可以替换容器中的这个文件。
环境描述
<代码类=" language-yaml ">容器镜像:php: 5.6 fpm 容器系统:debian 8(杰西) 配置文件:/etc/apt/sources.list 码头工人主机:Ubuntu服务器16.04 代码>
举个栗子
1创建源。表文件,内容如下:
<代码类=" language-bash ">猫sources.list 杰西主要收费contrib deb http://mirrors.aliyun.com/debian/deb http://mirrors.aliyun.com/debian/jessie-proposed-updates主要非自由普通发布版 杰西主要收费contrib deb-src http://mirrors.aliyun.com/debian/deb-src http://mirrors.aliyun.com/debian/jessie-proposed-updates主要收费contrib 代码>
2备份容器内的文件
<代码类=" language-bash ">码头工人cp crm-test:/etc/恰当的来源。代码列表/tmp/sources.list.bak > >之前这个条命令将把容器内的来源。表文件,拷贝到宿主机上的/tmp/目录
3替换容器内的sources.list文件
<代码类=" language-bash ">码头工人cp来源。列表crm-test:/etc/apt/sources.list 代码>相反这个条命令将把宿主机上的文件拷贝到容器内
4验证
<代码类=" language-bash ">码头工人exec ti crm-test apt-get更新 Ign http://mirrors.aliyun.com杰西InRelease 省略…… 获取22.0 MB在19年代(1120 kB/s) 阅读包列表…代码> >之前完成5扩展Dockerfile
每次都要为容器添加来源。表文件实在是麻烦我们可以优化一下,把这个步骤定义在Dockerfile中例如:<代码类=" language-dockerfile ">头/5.6/Dockerfile -n7 php/基地 # php-fpm: 5.6 从php: 5.6 fpm 维护者dongnan #贴切 复制conf/来源。代码列表/etc/apt/sources.list >命令帮助
<代码类=" language-bash ">码头工人cp -帮助 用法:码头工人cp[选项]容器:SRC_PATH DEST_PATH | - 码头工人cp[选项]SRC_PATH | -容器:DEST_PATH 复制文件/文件夹之间的容器和本地文件系统 选项: ————档案归档模式(复制所有uid/gid信息) - l, follow链接总是遵循符号链接SRC_PATH 代码>小结
最后来总结下文章中的知识点
-
<李>码头工人cp子命令可以用来在容器与宿主机之间拷贝文件。李>
<李>拷贝文件时没有提示会直接替换目的文件,请提前做好备份工作。李>
<李>对于容器的sources.list文件,可以自定义码头工人镜像。李>
参考文章
doker& k8群(703906133)