MENU

docker基础操作

February 8, 2022 • Read: 358 • 点滴记录

docker 常用命令

docker pull hello-world 拉取hello-world镜像
docker images 查看当前docker镜像
docker stop $(docker ps -a -q)
停止所有的 container,这样才能够删除其中的 images:

修改 Docker 镜像服务器的方法

Docker Hub 是我们分发和获取 Docker 镜像的中心,但由于服务器位于海外,经常会出现拉取/上传镜像时速度太慢或无法访问的情况。可以尝试改用国内的 Docker Hub 镜像服务器。

具体步骤

  1. 编辑 /etc/docker/daemon.json 配置文件

    创建配置文件目录
    $ sudo mkdir /etc/docker
    
    编辑配置文件,如果文件不存在,以下命令会自动创建。
    $ sudo nano /etc/docker/daemon.json
    
    将配置信息粘贴到配置文件中,配置信息为 json 格式,可以根据实际需要设置多个国内的镜像服务器。
    {
      "registry-mirrors": [
        "https://hub-mirror.c.163.com",
        "https://mirror.baidubce.com"
      ]
    }
  2. 重启 Docker 服务

    $ sudo systemctl daemon-reload 
    $ sudo systemctl restart docker
  3. 检查设置是否生效

    $ sudo docker info
    
    结果中显示了我们设置的镜像服务器地址,则说明设置已经生效,返回的信息类似下面这样:
    
    Registry Mirrors:
     https://hub-mirror.c.163.com/

docker 拉镜像的几个阶段说明

一般我们使用 docker 拉取镜像时候会经历几个阶段,等待、拉取开始、下载成功、检验、拉取成功:

Waiting
Pulling fs layer
Download complete
Verifying Checksum
Pull complete

其中 Pull complete 和 Download complete 区别:

Pull complete
Download complete

When pulling a remote docker image, you can see that the layers are downloaded. After a layer is downloaded, docker shows a status of extracting the image which is mainly uncompressing the layer and verifying its checksum. Once this is done the layer is maked with Pull complete. 
So in short, Download complete means the layer is downloaded whereas Pull complete implies that the layer was downloaded and extracted onto the host machine.

Download 只是说这个镜像下载下来了,Pull complete 则是经过解压缩、校验之后导入到系统里去了!

Leave a Comment

2 Comments
  1. docker真的很方便 只需要知道对应的程序 然后拉取一下 就能搞定 就是如果项目带数据库就麻烦一点

    1. @小赵同学哈哈 我就用来跑JD脚本的@(滑稽)