
类型:虚拟化技术
简介:基于操作系统层级的虚拟化技术,将软件与其依赖项打包为容器。
我们在使用Docker平台的时候难免会遇到代码分享等情况,Docker提供镜像打包分享操作,让他人轻松获取我们的成果。本期主要介绍Docker镜像加载到镜像打包的全流程指南。
一、Docker镜像加载
1、镜像准备工作
在开始镜像加载前,请先确认系统环境:若尚未安装Docker,请参考做侧边栏Docker安装教程完成环境部署;若已安装Docker,则需准备一个已打包的镜像文件。此处以命名为spider.tar的镜像文件为例进行操作演示。
2、Docker执行镜像加载
使用以下命令完成镜像加载操作:
docker load -i spider.tar
注意:请将命令中的spider.tar替换为实际镜像文件名。若镜像文件体积较大,加载过程可能需要持续数分钟,请耐心等待。
3、查看已加载镜像
镜像加载完成后,可通过以下命令查看已加载的镜像列表及详细属性:
docker images
执行命令后,系统将以表格形式展示镜像的 REPOSITORY(仓库名称)、TAG(标签版本)、IMAGE ID(镜像 ID)、CREATED(创建时间)及 SIZE(镜像大小)等信息。
4、进入镜像环境
如需进入已加载的镜像环境,可使用以下命令:
docker run -it REPOSITORY:TAG
例如,若仓库名称为 spider,标签版本为 latest,则具体命令为:
docker run -it spider:latest
二、Docker镜像打包操作流程
1、创建Dockerfile文件
若需打包自定义镜像(以 ubuntu22.04 基础环境为例),建议通过 Dockerfile 文件进行构建。首先执行以下命令创建 Dockerfile 文件:
touch Dockerfile
然后将基础环境配置内容复制到该文件中。
2、构建镜像操作
完成Dockerfile文件内容编辑后,在同一目录下执行以下命令构建镜像:
docker build -t spider2-ubuntu .
注意:若构建过程中出现网络失败问题,可能是由于国内部分源被限制所致。此时可参考以下配置方案(亲测有效):
创建或编辑 Docker 系统代理配置文件:
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf
在打开的文件中添加以下内容:
[Service]
Environment=”HTTP_PROXY=http://127.0.0.1:7890″
Environment=”HTTPS_PROXY=http://127.0.0.1:7890″
Environment=”NO_PROXY=localhost,127.0.0.1″
提示:请将上述地址和端口替换为实际使用的代理地址(如Clash监听的地址和端口)。
保存文件并退出编辑器,执行以下命令重新加载配置并重启Docker服务:
sudo systemctl daemon-reload
sudo systemctl restart docker
验证配置是否生效,可尝试拉取一个小镜像进行测试:
docker pull hello-world
3、运行容器操作
镜像构建完成后,可使用以下命令运行容器:
docker run -it spider-ubuntu
若需在容器内访问或编译本地代码,可通过 – v 选项挂载本地目录,示例如下:
docker run -it -v /home/jeff:/home spider-ubuntu
上述命令将本地 /home/jeff 目录挂载到容器的 /home 目录,以便在容器中访问本地代码。
4、Docker导出镜像
若在容器使用过程中需要安装额外库(如yaml-cpp库),可按以下步骤操作并重新打包镜像:
进入镜像环境并安装所需库(安装过程中请勿删除容器,否则需重新安装)。
安装完成后,执行以下命令查看镜像ID:
docker images
使用以下命令提交修改后的容器为新镜像:
docker commit f59096ea53f1 yourname:latest
注意:请将f59096ea53f1替换为实际的IMAGE ID。
最后执行以下命令导出新镜像:
docker save -o spider.tar 15d963d26fab
注意:请将15d963d26fab替换为新镜像的IMAGE ID,导出的spider.tar文件可分享给其他用户使用。



