一、帮助命令
docker version 查看版本
docker info 描述docker详细信息
docker --help 帮助
二、镜像命令
2.1 images
- docker images 列出本地主机镜像
各个选项说明:
-a 列出本地所有的镜像(含中间映像层)
-q 只显示镜像ID
--digests 显示镜像的摘要信息
--no-trunc 现在完整的镜像信息
展现页面选项说明:
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
同一仓库源可以有多个TAG,代表这个仓库源的不同版本,可使用REPOSITORY:TAG来定义不同的镜像,如果不指定一个镜像的版本标签,默认是XX:latest镜像
2.2 search
docker search XX(镜像名) 查询是在国外官网上查询,pull是拉取你配置的仓库源
各个选项说明:
--no-trunc 显示完整的镜像描述
-s 列出收藏数不小于指定值的镜像
--automated 只列出automated build类型的镜像
展现页面选项说明:
NAME 名字
DESCRIPTION 描述
STARS 点赞数
OFFICIAL 官方版
PULL 下载量
2.3 pull
- docker pull xx(镜像名)
如果不指定版本,默认pull的是latest版本
2.4 rmi
-
删除单个、多个、全部容器的方式:
docker rmi XX(容器ID)
docker rmi -f XX XX
docker rmi -f $(docker images -qa) -
各个选项说明:
-f 强制删除
三、常用容器命令
-
有镜像才能创建容器,这是前提
docker pull centos -
新建并启动容器
docker [OPTION] IMAGE [COMMAND] [ARG]
docker run -it --name centos1 centos
option选项说明:
--name 为容器指定一个名称
-d 后台运行容器,并返回容器ID,即启动守护式容器
-i 以交互式模式运行容器,通常与 -t同时使用
-t 为容器重新分配一个伪输入终端
-P 随机端口映射
-p 指定端口映射,有四种格式:
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
进阶:指定容器目录data2做 宿主机目录data1的映射目录,类似rsync同步,可以加读写权限或ro
docker run -it -v /data1:/data2:ro centos(镜像名)
- 列出当前运行的容器
docker ps [OPTIONS]
option说明:
-a 列出当前所以正在运行的容器+历史上运行过的
-l 显示最近创建的容器
-n 显示最近n个创建的容器
-q 静默模式,只显示容器编号
--no-trunc 不截断输出
-
启动容器
docker start XX(容器名或ID) -
停止容器
docker stop XX(容器名或ID) -
强制停止容器
docker kill XX(容器名或ID) -
退出容器
exit 容器停止退出
ctrl +p +q 容器不停止退出 -
删除容器
删除单个、多个、全部容器的方式:
docker rmi XX(容器ID)
docker rmi -f XX XX
docker rmi -f $(docker images -qa)
四、重点命令
docker机制:容器后台运行就必须有一个前台进程,不然会自动退出,建议将运行的程序以前台进程的形势运行
-
启动守护式容器
docker run -d XX(容器名)
docker run -d XX /bin/sh -c "while true;do echo hellp;sleep 2;done" -
查看容器日志
docker logs -f -t
-t 加入时间戳
-f 跟随最新的日志打印
--tail 数字,显示最后多少条 -
查看容器内运行的进程
docker top XX(容器名) -
查看容器内部细节
docker inspect XX(容器名) -
进入正在运行的容器并以命令行交互
docker exec -it XX(容器名) bashshell
docker attach XX(容器名)
两者区别:
attach是直接进入容器启动命令的终端,不会启动新的进程
exec是在容器中打开新的终端,并且可以启动新的进程,类似ssh,既能进去也能直接获取结果 -
从容器内拷贝文件到主机上
docker cp XX(容器名):容器内路径 目的主机路径
docker cp centos:/tmp/log /root -
提交容器副本使之成为一个新的镜像
docker commit -m=(描述信息) -a=(作者) XX(容器ID) image(镜像名):[标签名]
docker commit -m="tomcat without docs" -a="wang" 61b21f4257ea ace/tomcat:1.2
[root@133 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ace/tomcat 1.2 20f1c934cb7b 19 seconds ago 506 MB
docker.io/tomcat latest 6e30b06a90d3 33 hours ago 506 MB
docker.io/redis latest f7302e4ab3a8 2 days ago 98.2 MB
docker.io/nginx latest 4733136e5c3c 2 days ago 126 MB
docker.io/mysql latest 62a9f311b99c 2 days ago 445 MB
docker.io/centos latest 9f38484d220f 5 months ago 202 MB
docker.io/hello-world latest fce289e99eb9 7 months ago 1.84 kB