前言

平时使用docker时会经常从docker hub上拉去镜像,但国内访问docker hub会很慢,如果网慢直接没用用。为了解决这个问题,目前国内很多云服务都提供了镜像加速器,常用的有阿里云加速器DaoCloud加速器七牛云加速器网易加速器等。




docker pull镜像在 docker pull镜像很慢_docker toolbox镜像加速


配置docekr镜像加速器

如果已经安装部署docker,这里以七牛云加速器为例

在 /etc/docker/daemon.json中加入如下内容

{"registry-mirrors":["https://reg-mirror.qiniu.com/"]}

如果没有新建即可。

加入后重新启动docker并检测是否部署成功

sudo systemctl restart docker -- 重启docekr

docker info --检测是否成功

输出配置的内容则表示成功


docker pull镜像在 docker pull镜像很慢_docker toolbox镜像加速_02


docker常用命令

搜索镜像 【docker search】

可以使用docker search [options] term 来搜索需要拉去的镜像。

比如docker search nginx 列出所有包含nginx关键字的镜像。

--automated  默认值false    【只列出自动构建的镜像】--filter, -f   【根据指定条件过滤结果】--limit   默认值25  【搜索结果的最大条数】--no-trunc 默认值false 【不截断输出,显示完整的输出】--stars, -s  默认值0   【只展示Star不低于该数值的结果】

执行搜索命令后会从docker hub中列出镜像

NAME                    DESCRIPTION               STARS     OFFICIAL   AUTOMATEDjava                    Java is a concurrent, ...   1281      [OK]       anapsix/alpine-java     Oracle Java 8 (and 7) ...   190                  [OK]isuper/java-oracle      This repository conta ...   48                   [OK]lwieske/java-8          Oracle Java 8 Contain ...   32                   [OK]nimmis/java-centos      This is docker images ...   23                   [OK]...
  • NAME:镜像仓库名称。
  • DESCRIPTION:镜像仓库描述。
  • STARS:镜像仓库收藏数,表示该镜像仓库的受欢迎程度,类似于GitHub的Stars。
  • OFFICAL:表示是否为官方仓库,该列标记为[OK]的镜像均由各软件的官方项目组创建和维护。
  • AUTOMATED:表示是否是自动构建的镜像仓库。

下载镜像 【docekr pull】

使用 docker pull [OPTIONS] NAME[:TAG|@DIGEST] 从docker hub拉去镜像

--all-tags, -a  默认false  【下载所有标签的镜像】--disable-content-trust  默认值true  【忽略镜像的校验】示例docker pull java  从docker hub拉去最新的java镜像

列出镜像 【docker images】

使用docker images 命令可以列出已经下载的所有镜像。

执行命令后可以看到如下的表格信息

REPOSITORY                                             TAG                 IMAGE ID            CREATED             SIZEnginx                                                  latest              2622e6cca7eb        4 weeks ago         132MBbusybox                                                latest              78096d0a5478        8 weeks ago         1.22MBdbsource                                               latest              63c9567359ee        2 months ago        727MBsentinel                                               latest              66428e09e885        2 months ago        686MBubuntu                                                 latest              1d622ef86b13        2 months ago        73.9MB
  • REPOSITORY:镜像所属仓库名称。
  • TAG:镜像标签。默认是latest,表示最新。
  • IMAGE ID:镜像ID,表示镜像唯一标识。
  • CREATED:镜像创建时间。
  • SIZE:镜像大小。

docker images [OPTIONS] [REPOSITORY[:TAG]]

--all, -a   默认值false 【列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层)】--digests  默认值false  【显示摘要信息】--filter, -f 【显示满足条件的镜像】--format  【通过Go语言模板文件展示镜像】--no-trunc 默认false 【不截断输出,显示完整的镜像信息】--quiet, -q 默认值false 【只显示镜像ID】

删除镜像【docker rmi】

使用docker rmi [OPTIONS] IMAGE [IMAGE...] 删除镜像

--force, -f  默认值false   强制删除--no-prun  默认值false  不移除该镜像的过程镜像 默认移除docker rmi hello-world   --删除单个镜像docker rmi -f $(docker images)  --删除所有镜像

保存镜像 【docker save】

使用docker save [OPTIONS] IMAGE [IMAGE...]保存镜像

--output, -o   写入文件,而不是STDOUTdocker save --output busybox.tar busybox

加载镜像 【docker load】

使用docker load [OPTIONS]加载镜像

--input, -i   【从文件加载而非STDIN】--quiet, -q    默认值false 【静默加载

构建镜像 【docker build】

使用docker build [OPTIONS] PATH | URL | -构建镜像

--add-host  【添加自定义从host到IP的映射,格式为(host:ip)】--build-arg  【设置构建时的变量】--cache-from 【作为缓存源的镜像】--cgroup-parent 【容器可选的父cgroup】--compress  默认值false 【使用gzip压缩构建上下文】--cpu-period  默认值0  【限制CPU CFS (Completely Fair Scheduler) 周期】--cpu-quota  默认值0  【限制CPU CFS (Completely Fair Scheduler) 配额】--cpu-shares, -c  默认值0  【CPU使用权重(相对权重)】--cpuset-cpus  【指定允许执行的CPU】--cpuset-mems  【指定允许执行的内存】--disable-content-trust   默认值true【忽略校验】--file, -f 【指定Dockerfile的名称,默认是‘PATH/Dockerfile’】--force-rm 默认值false 【删除中间容器】--iidfile  【将镜像ID写到文件中】将镜像ID写到文件中--isolation 【容器隔离技术】--label 【设置镜像使用的元数据】--memory, -m 默认值0 【设置内存限制】--memory-swap 默认值0 【设置Swap的最大值为内存+swap,如果设置为-1表示不限swap】--network 【在构建期间设置RUN指令的网络模式】--no-cache  默认值false 【构建镜像过程中不使用缓存】--pull  默认值false 【总是尝试去更新镜像的新版本】--quiet, -q 默认值false 【静默模式,构建成功后只输出镜像ID】--rm  默认值true 【构建成功后立即删除中间容器】--security-opt 【安全选项】--shm-size 默认值0 【指定/dev/shm 目录的大小】--squash默认值false 【将构建的层压缩成一个新的层】--tag, -t 【设置标签,格式:name:tag,tag可选】--target 【设置构建时的目标构建阶段】--ulimit  【Ulimit 选项】