镜像仓库命令
命令清单
命令 | 别名 | 功能 | 备注 |
---|---|---|---|
docker login | 无 | 登录仓库 | 必须掌握 |
docker pull | docker image pull | 拉取镜像 | 必须掌握 |
docker push | docker image push | 推送镜像 | 必须掌握 |
docker search | 无 | 查找镜像 | 无 |
docker logout | 无 | 登出仓库 | 必须掌握 |
docker login
• 功能
登陆到一个 Docker 镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker
Hub
• 语法
docker login [OPTIONS] [SERVER]
• 关键参数
○ -u :登陆的用户名
○ -p :登陆的密码
• 样例
docker login -u 用户名 -p 密码
docker pull
• 功能
从镜像仓库中拉取或者更新指定镜像
• 语法
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
• 别名
docker image pull
• 关键参数
○ -a :拉取所有 tagged 镜像
○ --disable-content-trust :忽略镜像的校验,默认开启
• 样例
docker pull nginx:1.23.3
docker push
• 功能
将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
• 语法
docker push [OPTIONS] NAME[:TAG]
• 别名
docker image push
• 关键参数
○ -a :推送所有 tagged 镜像
○ --disable-content-trust :忽略镜像的校验,默认开启
• 样例
docker push myapache:v1
docker search
• 功能
从 Docker Hub 查找镜像
• 语法
docker search [OPTIONS] TERM
• 关键参数
○ --no-trunc :显示完整的镜像描述;
○ -f <过滤条件>:列出收藏数不小于指定值的镜像。
• 样例
#从 Docker Hub 查找所有镜像名包含 nginx,并且 star 数大于 10 的镜像
docker search -f stars=10 nginx
docker logout
• 功能
登出一个 Docker 镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
• 语法
docker logout [SERVER]
• 样例
docker logout
镜像命令详解
镜像命令清单
命令 | 别名 | 功能 | 备注 |
---|---|---|---|
docker images | docker image ls / docker image list | 列出本地镜像 | 必须掌握 |
docker tag | docker image tag | 给镜像打标签,可用于推送镜像仓库 | 必须掌握 |
docker pull | docker image pull | 从镜像仓库拉取镜像 | (和镜像仓库命令相同,也可归类为镜像操作命令,必须掌握,参考镜像命令此处不赘述) |
docker push | docker image push | 推送镜像到仓库 | (和镜像仓库命令相同,也可归类为镜像操作命令,必须掌握,参考镜像命令此处不赘述) |
docker rmi | docker image rm / docker image remove | 删除本地镜像 | 必须掌握 |
docker build | docker image build | 通过dockerfile制作镜像 | 必须掌握 |
docker save | docker image save | 将指定镜像保存成tar归档文件 | 必须掌握 |
docker load | docker image load | 导入使用docker save命令导出的镜像 | 必须掌握 |
docker image inspect | 无 | 查看镜像详细信息 | 必须掌握 |
docker history | docker image history | 查看镜像历史 | 无 |
docker import | docker image import | 从归档文件docker export中创建镜像 | 无 |
docker image prune | 无 | 删除不使用的镜像 | 无 |
docker images
• 功能
列出本地镜像。
• 语法
docker images [OPTIONS] [REPOSITORY[:TAG]]
• 别名
docker image ls, docker image list
• 关键参数
○ -a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
○ --digests :显示镜像的摘要信息;
○ -f :显示满足条件的镜像;
○ --format :指定返回值的模板文件;
○ --no-trunc :显示完整的镜像信息;
○ -q :只显示镜像 ID。
• 样例
#列出本地全部镜像
docker images
#列出本地镜像中 REPOSITORY 为 ubuntu 的镜像列表。
docker images ubuntu
docker tag
• 功能
标记本地镜像,将其归入某一仓库。
• 语法
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
• 别名
docker image tag
• 样例
docker tag ubuntu:22.04 myregistry.com/myubuntu:22.04
docker rmi
• 功能
删除镜像。
• 语法
docker rmi [OPTIONS] IMAGE [IMAGE...]
• 别名
docker image rm, docker image remove
• 关键参数
○ -f :强制删除;
○ --no-prune :不移除该镜像的过程镜像,默认移除;
• 样例
root@139-159-150-152:/data/var/lib/docker/overlay2# docker rmi
maxhou/mybusybox:v0.1
Untagged: maxhou/mybusybox:v0.1
Untagged:
maxhou/mybusybox@sha256:2c8ed5408179ff4f53242a4bdd2706110ce000be23
9fe37a61be9c52f704c437
docker save
• 功能
将指定镜像保存成 tar 归档文件。
• 语法
docker save [OPTIONS] IMAGE [IMAGE...]
• 别名
docker image save
• 关键参数
○ -o :输出到的文件。
• 样例
root@139-159-150-152:/data/myworkdir# docker save -o
mynginx_1.22.1.tar nginx:1.22.1
root@139-159-150-152:/data/myworkdir# ll
total 142756
drwxr-xr-x 2 root root 4096 Mar 13 15:05 ./
drwx--x--x 5 root root 4096 Mar 13 15:03 ../
-rw------- 1 root root 146172416 Mar 13 15:05 mynginx_1.22.1.tar
docker load
• 功能
导入使用 docker save 命令导出的镜像。
• 语法
docker load [OPTIONS]
• 别名
docker image load
• 关键参数
○ --input , -i : 指定导入的文件,代替 STDIN。
○ --quiet , -q : 精简输出信息。
• 样例
root@139-159-150-152:/data/myworkdir# docker load -i
mynginx_1.22.1.tar
Loaded image: nginx:1.22.1
docker image inspect
• 功能
查看镜像详细信息
• 语法
docker image inspect [OPTIONS] IMAGE [IMAGE...]
• 注意事项:
○ docker inspect 会自动检查是镜像还是容器然后显示相信信息
• 样例
#查看镜像详细信息
docker images inspect nginx:1.23.3
docker history
• 功能
显示镜像历史。
• 语法
docker history [OPTIONS] IMAGE
• 别名
docker image history
• 关键参数
○ -H , --human :大小和日期采用人容易读的格式展现
○ --no-trunc :显示全部信息,不要隔断;
○ -q, --quiet: 只显示镜像 id 信息;
• 样例
root@139-159-150-152:/data/myworkdir# docker history nginx:1.21.1
IMAGE CREATED CREATED BY
SIZE COMMENT
822b7ec2aaf2 18 months ago /bin/sh -c #(nop) CMD ["nginx" "-
g" "daemon… 0B
<missing> 18 months ago /bin/sh -c #(nop) STOPSIGNAL
SIGQUIT 0B
<missing> 18 months ago /bin/sh -c #(nop) EXPOSE 80
0B
<missing> 18 months ago /bin/sh -c #(nop) ENTRYPOINT
["/docker-entr… 0B
<missing> 18 months ago /bin/sh -c #(nop) COPY
file:09a214a3e07c919a… 4.61kB
<missing> 18 months ago /bin/sh -c #(nop) COPY
file:0fd5fca330dcd6a7… 1.04kB
<missing> 18 months ago /bin/sh -c #(nop) COPY
file:0b866ff3fc1ef5b0… 1.96kB
<missing> 18 months ago /bin/sh -c #(nop) COPY
file:65504f71f5855ca0… 1.2kB
<missing> 18 months ago /bin/sh -c set -x && addgroup -
-system -… 63.9MB
<missing> 18 months ago /bin/sh -c #(nop) ENV
PKG_RELEASE=1~buster 0B
<missing> 18 months ago /bin/sh -c #(nop) ENV
NJS_VERSION=0.6.1 0B
<missing> 18 months ago /bin/sh -c #(nop) ENV
NGINX_VERSION=1.21.1 0B
<missing> 18 months ago /bin/sh -c #(nop) LABEL
maintainer=NGINX Do… 0B
<missing> 18 months ago /bin/sh -c #(nop) CMD ["bash"]
0B
<missing> 18 months ago /bin/sh -c #(nop) ADD
file:4ff85d9f6aa246746… 69.3MB
docker import
• 功能
从归档文件中创建镜像。
• 语法
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
• 别名
docker image import
• 关键参数
○ -c :应用 docker 指令创建镜像;
○ -m :提交时的说明文字;
• 样例
docker import my_ubuntu_v3.tar maxhou/ubuntu:v4
docker image prune
• 功能
删除不使用的镜像。
• 语法
docker image prune [OPTIONS]
• 关键参数
○ -a , --all : 删除全部不使用的镜像;
○ --filter filter:指定过滤条件;
○ -f, --force :不提示是否删除;
• 样例
docker image prune
docker build
• 功能
docker build 命令用于使用 Dockerfile 创建镜像。
• 语法
docker build [OPTIONS] PATH | URL | -
• 关键参数
○ --build-arg=[] :设置镜像创建时的变量;
○ -f :指定要使用的 Dockerfile 路径;
○ --label=[] :设置镜像使用的元数据;
○ --no-cache :创建镜像的过程不使用缓存;
○ --pull :尝试去更新镜像的新版本;
○ --quiet, -q :安静模式,成功后只输出镜像 ID;
○ --rm :设置镜像成功后删除中间容器;
○ --tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构
建中为一个镜像设置多个标签。
○ --network: 默认 default。在构建期间设置 RUN 指令的网络模式
• 样例
docker build -t mynginx:v1 .
容器命令
命令清单
命令 | 别名 | 功能 | 备注 |
---|---|---|---|
docker create | docker container create | 创建容器 | |
docker run | docker container run | 运行容器 | 必须掌握 |
docker attach | docker container attach | 连接到正在运行中的容器。 | |
docker commit | docker container commit | 将镜像提交为容器 | 必须掌握 |
docker cp | docker container cp | 在容器和宿主机之间拷贝 | 必须掌握 |
docker diff | docker container diff | 检查容器里文件结构的更改。 | |
docker exec | docker container exec | 在运行的容器中执行命令 | 必须掌握 |
docker export | docker container export | 将容器导出为tar | |
docker container inspect | 查看容器详细信息 | 必须掌握 | |
docker kill | docker container kill | 杀死容器 | 必须掌握 |
docker logs | docker container logs | 查看日志 | 必须掌握 |
docker ps | docker container ls, docker container list, docker container ps | 查看正在运行的进程 | 必须掌握 |
docker pause | docker container pause | 暂停进程 | |
docker port | docker container port | 查看容器的端口映射 | |
docker container prune | 删除停止的容器 | ||
docker rename | docker container rename | 重命名容器 | |
docker restart | docker container restart | 重启容器 | 必须掌握 |
docker rm | docker container rm, docker container remove | 删除容器 | 必须掌握 |
docker start | docker container start | 启动容器 | 必须掌握 |
docker stats | docker container stats | 查看资源占用信息 | 必须掌握 |
docker stop | docker container stop | 停止容器 | 必须掌握 |
docker top | docker container top | 查看某个容器的资源占用 | 必须掌握 |
docker unpause | docker container unpause | 继续运行容器 | |
docker update | docker container update | 更新容器配置 | |
docker wait | docker container wait | 阻止一个或多个容器停止,然后打印退出代码 |
docker create
• 功能
创建一个新的容器但不启动它
• 语法
docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
• 别名
docker container create
• 关键参数
○ -i: 以交互模式运行容器,通常与 -t 同时使用;
○ -P: 随机端口映射,容器内部端口随机映射到主机的端口
○ -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
○ -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
○ --name=“nginx-lb”: 为容器指定一个名称;
○ -h “mars”: 指定容器的 hostname;
○ -e username=“ritchie”: 设置环境变量;
○ --cpuset-cpus=“0-2” or --cpuset-cpus=“0,1,2”: 绑定容器到指定 CPU 运行;
○ -m :设置容器使用内存最大值;
○ --network=“bridge”: 指定容器的网络连接类型;
○ --link=[]: 添加链接到另一个容器;
○ --volume , -v: 绑定一个卷
○ --rm :shell 退出的时候自动删除容器
○ --restart:自动重启
• 样例
docker create --name mynginx nginx:latest
docker run
• 功能
创建一个新的容器并运行一个命令
• 语法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
• 别名
docker container run
• 关键参数
○ -d: 后台运行容器,并返回容器 ID;比 create 多了这个参数
○ -i: 以交互模式运行容器,通常与 -t 同时使用;
○ -P: 随机端口映射,容器内部端口随机映射到主机的端口
○ -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
○ -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
○ --name=“nginx-lb”: 为容器指定一个名称;
○ -h “mars”: 指定容器的 hostname;
○ -e username=“ritchie”: 设置环境变量;
○ --cpuset-cpus=“0-2” or --cpuset-cpus=“0,1,2”: 绑定容器到指定 CPU 运行;
○ -m :设置容器使用内存最大值;
○ --network=“bridge”: 指定容器的网络连接类型;
○ --link=[]: 添加链接到另一个容器;
○ --volume , -v: 绑定一个卷
○ --rm :shell 退出的时候自动删除容器
○ --restart:自动重启
• 样例
#使用 docker 镜像 nginx:latest 以后台模式启动一个容器,并将容器命名为mynginx。
docker run --name mynginx -d nginx:latest
#使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。
docker run -p 80:80 -v /data:/data -d nginx:latest
docker ps
• 功能
列出容器
• 语法
docker ps [OPTIONS]
• 别名
docker container ls, docker container list, docker container ps
• 关键参数
○ -a :显示所有的容器,包括未运行的。
○ -f :根据条件过滤显示的内容。
○ --format :指定返回值的模板文件。如 json 或者 table
○ -l :显示 latest 的容器。
○ -n :列出最近创建的 n 个容器。
○ --no-trunc :不截断输出。
○ -q :静默模式,只显示容器编号。
○ -s :显示总的文件大小。
• 样例
docker ps -a
docker logs
• 功能
查看容器日志
• 语法
docker logs [OPTIONS] CONTAINER
• 别名
docker container logs
• 关键参数
○ -f ,–follow: 跟踪日志输出
○ --since :显示某个开始时间的所有日志
○ -t,–timestamps : 显示时间戳
○ -n,–tail :仅列出最新 N 条容器日志
• 样例
#跟踪查看容器 mynginx 的日志输出。
docker logs -f mynginx1
#查看容器 mynginx 从 2016 年 7 月 1 日后的最新 10 条日志。
docker logs --since="2016-07-01" --tail=10 mynginx
docker attach
• 功能
连接到正在运行中的容器。
• 语法
docker attach [OPTIONS] CONTAINER
• 别名
docker container attach
• 关键参数
○ --sig-proxy:是否将所有信号代理,默认是 true,如果设置为 false,退出的话不会影响容器,否则退出会导致容器退出。
• 样例
root@139-159-150-152:/data/myworkdir/dockerfile/cache# docker attach mynginx
#此处按了 ctrl+c 后会把容器杀死
^C2023/03/15 06:26:24 [notice] 1#1: signal 2 (SIGINT) received, exiting
2023/03/15 06:26:24 [notice] 28#28: exiting
2023/03/15 06:26:24 [notice] 28#28: exit
2023/03/15 06:26:24 [notice] 1#1: signal 17 (SIGCHLD) received from 28
2023/03/15 06:26:24 [notice] 1#1: worker process 28 exited with code 0
2023/03/15 06:26:24 [notice] 1#1: exit
root@139-159-150-152:/data/myworkdir/dockerfile/cache# docker attach --sig-proxy=false mynginx
#此处按了 ctrl+c 不会把容器杀死
显示报文为
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称。
docker exec
• 功能
在容器中执行命令
• 语法
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
• 别名
docker container exec
• 关键参数
○ -d :分离模式: 在后台运行
○ -i :即使没有附加也保持 STDIN 打开
○ -t :分配一个伪终端
○ -e :设置环境变量
○ -u,–user :指定用户 “<name|uid>[:<group|gid>]”
○ -w,–workdir:指定工作目录
• 样例
#在容器 mynginx 中以交互模式执行 echo:
docker exec -it mynginx echo "Hello bit"
#在容器 mynginx 中以交互模式打开 shell:
docker exec -it mynginx bash
#通过 id 进去,docker ps 可以看到容器 id
docker exec -it 5706674cc67e bash
docker start
• 功能
启动停止的容器
• 语法
docker start [OPTIONS] CONTAINER [CONTAINER...]
• 别名
docker container start
• 样例
docker start mynginx
docker stop
• 功能
停止运行的容器
• 语法
docker stop [OPTIONS] CONTAINER [CONTAINER...]
• 别名
docker container stop
• 关键参数
○ -s :发送的信号
• 样例
docker stop mynginx
docker restart
• 功能
重启容器
• 语法
docker restart [OPTIONS] CONTAINER [CONTAINER...]
• 别名
docker container restart
• 关键参数
○ -s :发送信号
• 样例
docker restart mynginx
docker kill
• 功能
强制退出容器
• 语法
docker kill [OPTIONS] CONTAINER [CONTAINER...]
• 别名
docker container kill
• 关键参数
○ -s :发送的信号
• 注意事项:
○ Docker stop 发送的是 SIGTERM 信号,docker kill 发送的是 SIGKILL 信号
• 样例
docker kill mynginx
docker top
• 功能
查看容器中运行的进程信息,支持 ps 命令参数。
• 语法
docker top CONTAINER [ps OPTIONS]
• 别名
docker container top
• 注意事项
容器运行时不一定有/bin/bash 终端来交互执行 top 命令,而且容器还不一定有
top 命令,可以使用 docker top 来实现查看 container 中正在运行的进程。
• 样例
#查看容器进程信息
docker top mynginx
docker stats
• 功能
显示容器资源的使用情况,包括:CPU、内存、网络 I/O 等。
• 语法
docker stats [OPTIONS] [CONTAINER...]
• 别名
docker container stats
• 关键参数
○ --all , -a :显示所有的容器,包括未运行的。
○ --format :指定返回值的模板文件。如 table,json
○ --no-stream :展示当前状态就直接退出了,不再实时更新。
○ --no-trunc :不截断输出。
• 返回报文
CONTAINER ID 与 NAME: 容器 ID 与名称。
CPU % 与 MEM %: 容器使用的 CPU 和内存的百分比。
MEM USAGE / LIMIT: 容器正在使用的总内存,以及允许使用的内存总量。
NET I/O: 容器通过其网络接口发送和接收的数据量。
BLOCK I/O: 容器从主机上的块设备读取和写入的数据量。
PIDs: 容器创建的进程或线程数。
• 样例
#列出所有在运行的容器信息。
root@139-159-150-152:/data/myworkdir/dockerfile/cache#docker stats
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM %
NET I/O BLOCK I/O PIDS
5706674cc67e mynginx 0.00% 4.109MiB / 1.936GiB 0.21%
4.71kB / 3.3kB 11.2MB / 4.1kB 2
#json 格式显示
root@139-159-150-152:/data/myworkdir/dockerfile/cache# docker stats --format json
{"BlockIO":"11.2MB /
4.1kB","CPUPerc":"0.00%","Container":"5706674cc67e","ID":"5706674c
c67e","MemPerc":"0.12%","MemUsage":"2.352MiB /
1.936GiB","Name":"mynginx","NetIO":"4.71kB / 3.3kB","PIDs":"2"}
#定制化的表格显示
root@139-159-150-152:/data/myworkdir/dockerfile/cache# docker stats --format "table
{{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}"
CONTAINER CPU % MEM USAGE / LIMIT
5706674cc67e 0.00% 2.363MiB / 1.936GiB
docker container inspect
• 功能
查看容器详细信息
• 语法
docker container inspect [OPTIONS] CONTAINER [CONTAINER...]
• 关键参数
○ -f :指定返回值的模板文件。如 table、json
○ -s :显示总的文件大小。
• 注意事项:
○ docker inspect 会自动检查是镜像还是容器然后显示相信信息
• 样例
docker container inspect mynginx
docker port
• 功能
用于列出指定的容器的端口映射,或者查找将 PRIVATE_PORT NAT 到面向公众的端口。
• 语法
docker port CONTAINER [PRIVATE_PORT[/PROTO]]
• 别名
docker container port
• 样例
docker port mynginx
docker cp
• 功能
在容器和宿主机之间拷贝文件
• 语法
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
• 别名
docker container cp
• 样例
#将主机/www/目录拷贝到容器 mynginx 的/www 目录下。
docker cp /www/ mynginx:/www/
#将容器/www/目录拷贝到主机的/wwwbak 目录下。
docker cp mynginx:/www/ /wwwbak/
docker diff
• 功能
检查容器里文件结构的更改。
• 语法
docker diff CONTAINER
• 样例
docker diff mynginx
docker commit
• 功能
从容器创建一个新的镜像。
• 语法
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
• 参数
○ -a :提交的镜像作者;
○ -c :使用 Dockerfile 指令来创建镜像;可以修改启动指令
○ -m :提交时的说明文字;
○ -p :在 commit 时,将容器暂停。
• 样例
docker commit c3f279d17e0a maxhou/mynginx:v01
docker pause
• 功能
暂停容器中所有的进程。
• 语法
docker pause CONTAINER [CONTAINER...]
• 别名
docker container pause
• 样例
docker pause mynginx
docker unpause
• 功能
恢复容器中所有的进程。
• 语法
docker unpause CONTAINER [CONTAINER...]
• 别名
docker container unpause
• 样例
docker unpause mynginx
docker rm
• 功能
删除停止的容器
• 语法
docker rm [OPTIONS] CONTAINER [CONTAINER...]
• 别名
docker container rm
• 关键参数
○ -f :通过 SIGKILL 信号强制删除一个运行中的容器。
• 样例
#删除 mynginx 容器
docker stop mynginx
docker rm mynginx
#删除所有停止的容器
docker rm $(docker ps -a -q)
docker export
• 功能
导出容器内容为 tar 文件
• 语法
docker export [OPTIONS] CONTAINER
• 别名
docker container export
• 关键参数
○ -o:写入到文件。
• 样例
#导出 nginx 为 tar
docker export -o mynginx202203.tar mynginx
docker wait
• 功能
阻塞运行直到容器停止,然后打印出它的退出代码。
• 语法
docker wait CONTAINER [CONTAINER...]
• 别名
docker container wait
• 样例
docker wait mynginx
docker rename
• 功能
重命名容器
• 语法
docker rename CONTAINER NEW_NAME
• 别名
docker container rename
• 样例
docker rename mynginx myweb
docker container prune
• 功能
删除所有停止的容器
• 语法
docker container prune [OPTIONS]
• 关键参数
○ -f, --force:不提示是否进行确认
• 样例
docker container prune
docker update
• 功能
更新容器配置
• 语法
docker update [OPTIONS] CONTAINER [CONTAINER...]
• 别名
docker container update
• 关键参数
○ --cpus:cpu 数量
○ --cpuset-cpus :使用哪些 cpu
○ --memory :内存限制
○ --memory-swap:交换内存
○ --cpu-period :是用来指定容器对 CPU 的使用要在多长时间内做一次重新分配
○ --cpu-quota:是用来指定在这个周期内,最多可以有多少时间用来跑这个容器
• 样例
#更新内存
docker update -m 400m myweb
常见问题
docker create、docker start 和 docker run 有什么区别?
docker create 命令从 Docker 映像创建一个全新的容器。但是,它不会立即运行它。
docker start 命令将启动任何已停止的容器。如果使用 docker create 命令创建容器,则可以使用此命令启动它。
docker run 命令是创建和启动的组合,因为它创建了一个新容器并立即启动它。实际上,如果 docker run 命令在您的系统上找不到上述映像,它可以从 Docker Hub 中提取映像。
docker import 和 docker load 有什么区别?
想要了解 docker load 与 docker import 命令的区别,还必须知道 docker save与 docker export 命令:
• docker save images_name:将一个镜像导出为文件,再使用 docker load 命令将文件导入为一个镜像,会保存该镜像的的所有历史记录。比 docker export 命令导出的文件大,很好理解,因为会保存镜像的所有历史记录。
• docker export container_id:将一个容器导出为文件,再使用 docker import 命令将容器导入成为一个新的镜像,但是相比 docker save 命令,容器文件会丢失所有元数据和历史记录,仅保存容器当时的状态,相当于虚拟机快照。
既可以使用 docker load 命令来导入镜像库存储文件到本地镜像库,也可以使用docker import 命令来导入一个容器快照到本地镜像库。
两者的区别在于容器快照将会丢弃所有的历史记录和元数据信息,而镜像存储文件将保存完整记录,体积也会更大。
docker rm & docker rmi & docker prune 的差异?
docker rm : 删除一个或多个容器
docker rmi : 删除一个或多个镜像
docker prune: 用来删除不再使用的 docker 对象