docker环境信息
info、version
容器生命周期管理
create exec kill pause restart rm run start stop unpause
镜像仓库命令
login logout pull push search
镜像管理
build images import load rmi save tag commit
容器运维操作
attach export inspect port ps rename stats stop wait co diff update
容器资源管理
volume network
系统日志管理
events history logs
docker命令结构图

容器常用命令
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
sudo docker run -it --name mytest ubuntu /bin/bash
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
-c 用于给我运行在容器中的所有进程分配CPU的shares值,这是一个相对权重,实际的处理速度还与宿主机的CPU相关。
-m :设置容器使用内存最大值;
--volume , -v: 挂在一个卷
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
docker run 可以新建一个容器来运行,而对于已经存在的容器,可以通过docker start/stop/restart命令来启动、停止、重启。
Docker registry
Docker registry是存储容器镜像的仓库,用户可以通过Docker client与Docker registry进行通信,以
此完成镜像的搜索、下载和上传等相关操作。DockerHub是由Docker公司在互联网上提供的一个镜像仓库,提供镜像的公有与私有存储服务,它是用户最主要的镜像来源。除了DockerHub外,用户还可以自行搭建私有服务器来实现镜像仓库的功能。下面选取最常用的docker pull和push命令举例。
docker hub与Docker registry的区别?
Docker registry是存储容器镜像的仓库,DockerHub 是 Docker 官方维护的 Docker Registry。
docker pull命令是Docker中的常用命令,主要用于从Docker registry中拉取image或
repository。
docker pull [options] name[:tag @DIGEST]
sudo docker pull ubuntu
docker push 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
docker push [OPTIONS] NAME[:TAG]
docker push apache:v1
镜像常用命令
docker images可以列出主机上的所有镜像。
docker images [options] [repository[:tag]]

从REPOSITORY属性可以判断出镜像是来自于官方镜像,私人仓库还是私有服务器。
docker rmi 和 docker rm
rmi删除镜像 rm 删除容器
使用rmi删除镜像时,如果已有基于该镜像启动的容器存在,则无法直接删除,需要首先删除容器。
docker attach 连接到正在运行中的容器。
docker attach [OPTIONS] CONTAINER
docker inspect [OPTIONS] NAME|ID [NAME|ID...]可以查看镜像和容器的详细信息,默认会列出全部信息,可以通过--format参数来指定输出的模版格式。
docker ps命令可以查看容器的相关信息,默认只显示运行的。
docker ps [OPTIONS]
-a 查看所有容器,包括停止的
-l 只查看最新创建的容器,包括不在运行中的容器。s
docker commit
commit命令可以将一个容器固化为一个新的镜像。当需要制作特定的镜像时,会进行修改容
器的配置,如在容器中安装特定工具等,通过commit命令可以将这些修改保存起来,使其不会因
为容器的停止而丢失。
docker events 打印出实时的系统事件
docker history 会打印出指定镜像的历史版本信息
docker logs 命令会打印出容器中进程的运行日志
Docker容器本质上是宿主机上的进程。Docker通过namespace实现了资源隔离,通过cgroup实现了资源限制,通过写时复制(copy-on-write)实现了高效的文件操作。
网友评论