首页 > 其他分享 >Docker镜像的基本操作总结

Docker镜像的基本操作总结

时间:2023-01-07 11:55:33浏览次数:54  
标签:3.10 image https 镜像 基本操作 Docker docker

摘要

容器化是上个十年比较火的技术.
现在看起来在进行总计有点晚了.
不过linux是三十年前的,我依旧没有总结好
道理是一样的.
技术不在于新旧, 重要的是学习到原理.

Docker的重要概念

Registry
image
container

Docker的核心机制在于
从Registry里面拉取image
然后基于image 运行起来一个 container来提供服务.
image和container的关系很像
software和process的关系. 
镜像是有不可写的制度层构建的, 容器会运行成功时增加一个可写的最上层.
基于Copy On Wirte的机制来显示高性能的IO(内容聚合性能损耗很大)

Docker拉取加速

Docker默认是从 docker hub执行拉取镜像.
重大节日重大会议时一般拉取经常失败.
所以此时建议还是能够使用国内的镜像源进行加速.
一般可以用如下几个:
名称 地址
中国官方镜像 https://registry.docker-cn.com
网易163镜像 http://hub-mirror.c.163.com
中科大镜像 https://docker.mirrors.ustc.edu.cn
七牛云加速器 https://reg-mirror.qiniu.com

Systemd的方式进行设置

systemctl status docker
或者docker 的默认配置文件路径, 比如:
/usr/lib/systemd/system/docker.service
修改配置文件: 
在Service配置节增加内容:
DOCKER_OPTS="--registry-mirror=https://docker.mirrors.ustc.edu.cn/"
然后执行命令
systemctl daemon-reload && systemctl restart docker
再进行相关docker pull 速度就会比较快了. 

获取镜像库里面Docker的tag

docker pull 之前可以进行 docker search
但是docker search 是没有具体的tag的
这里学习了下:
https://www.zhoubotong.site/ 里面的文档.
可以编写一个脚本,自己拉取所有的镜像tag
方法其实是 利用 docker的原生API进行分析

注意 需要优先安装一下jq 方便进行json序列化的处理
yum install jq -y 

获取tag的脚本

  • 需要注意这个机器必须是能够上网的.
  • 建议保存成类似于 gettags 一样的脚本名称.
#!/bin/bash

repo_url=https://registry.hub.docker.com/v2/repositories/library
image_name=$1

curl -L -s ${repo_url}/${image_name}/tags?page_size=1024 | jq '.results[]["name"]' | sed 's/\"//g' | sort -u

拉取验证

./gettags rabbitmq 
结果为:
[root@NFSV3 deploy]# ./gettags rabbitmq 
3
3.10
3.10.10
3.10.10-alpine
3.10.10-management
3.10.10-management-alpine
3.10.11
3.10.11-alpine
3.10.11-management

Docker的导出与导入

Docker 其实有两种保存模式
docker save 还有 docker export
建议不要使用 docker export 他没有镜像层, 而是导出容器的运行时状态. 

建议使用 docker save 进行导出. 
可以使用 gzip命令同事进行压缩,减少网络损耗尽快导出导入的效率
docker save kylinv10sp2_aarch64:xxxx |gzip > /kylinv10sp2_aarch64_xxxx.tar.gz
复制到其他机器后执行
docker load -i kylinv10sp2_aarch64_xxxx.tar.gz
就很容易实现了镜像的备份与恢复. 

标签:3.10,image,https,镜像,基本操作,Docker,docker
From: https://www.cnblogs.com/jinanxiaolaohu/p/17032426.html

相关文章

  • docker开启远程访问
    说明如果你的服务器是公网IP,并且开放了docker的远程访问,如果没有进行保护是非常危险的,任何人都可以向你的docker中推送镜像、运行实例。我曾开放过阿里云服务器中docker的......
  • Docker(一):Linux安装Docker
    参考地址:https://blog.csdn.net/weixin_43526371/article/details/125811270下载DockerEnginehttps://docs.docker.com/engine/install/centos/查看系统版本$cat/etc......
  • Docker(二):镜像、容器 - 基础命令
    参考地址:https://blog.csdn.net/weixin_43526371/article/details/125811320镜像命令#基础信息$dockerinfo#镜像列表$dockerimages#image全部列表$dockerimage......
  • Docker(四):privileged、数据卷、继承volumes-from
    参考地址:https://blog.csdn.net/weixin_43526371/article/details/126326614privileged-(一般不推荐)是否给容器最高权限,这意味着容器内应用将不受权限的控制,一般不推荐......
  • Docker(五):Dockerfile基础指令
    参考地址:https://blog.csdn.net/weixin_43526371/article/details/126332507  构建三部曲编写Dockerfile使用dockerbuild命令从Dockerfile构建图像dockerrun......
  • Docker(三):镜像仓库 - 公共仓库、私有仓库 - commit、tag、push
    参考地址:https://blog.csdn.net/weixin_43526371/article/details/125828194镜像分层和UnionFSdocker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统就是Unio......
  • [Docker]使用Docker开启一个MariaDB服务并在宿主机里访问服务
    先把镜像下载下来dockerpullmariadb从第四行开始就是下载的镜像文件了,因为docker有一个文件分层机制(联合文件系统),所以一个镜像会分成好几个文件。镜像下载完成之后......
  • 轻量级实时容器Docker查看日志工具实践
    轻量级实时容器Docker查看日志工具实践     介绍一款使用了几个月的开源小工具,Dozzle。基于MIT许可,它是一款轻量、简单的容器日志查看工具。其源代码基于GOLANG开发......
  • Pytorch基础-张量基本操作
    Pytorch中,张量的操作分为结构操作和数学运算,其理解就如字面意思。结构操作就是改变张量本身的结构,数学运算就是对张量的元素值完成数学运算。​​一,张量的基......
  • Docker通过容器生成镜像
    参考地址:https://blog.csdn.net/JineD/article/details/106343404根据镜像启动容器:dockerrun  根据启动容器创建新镜像:dockercommit  将由容器生成的镜像push......