常用命令
启动 systemctl start docker
守护进程重启 sudo systemctl daemon-reload
重启docker服务 systemctl restart docker
重启docker服务 sudo service docker restart
关闭docker service docker stop
关闭docker systemctl stop docker
帮助命令
docker version --docker 版本
docker info
docker help
镜像命令
docker images --列出本地镜像
选项: -a 列出本地所有镜像
-q 只显示镜像ID
-digests 显示镜像的再要信息
-no-trunc 显示完整的镜像信息
REPOSITORY:仓库,一类仓库,比如centos和ubanto。REGISTRY也是仓库,他是所有镜像的仓库。REGISTRY包含多个REPOSITORY仓库。REPOSITORY中为具体的同一类镜像的不同版本。
TAG:REPOSITORY中不同的镜像通过TAG进行区分,REPOSITORY和TAG共同标识一个镜像(centos: latest)
IMAGE ID:是镜像id,唯一标识一个镜像。可以为相同id的镜像打上不同的标签生成多个镜像。
docker search xxx --查看某个镜像
选项: –automated:只显示自动化构建(automated)的镜像
–no-truc:显示时信息不截断(显示完整的镜像描述)
-s6:控制最低星级(列出收藏数不小于6个的镜像)
docker pull [OPTIONS] NAME[:TAG|@DIGEST] --下载某个镜像(TAG默认下载最新版)
格式说明:
OPTIONS:选项。可以使用如下OPTIONS:
-a, –all-tags:从镜像仓库中下载所有被标记的镜像
-disable-content-trust:跳过验证
NAME:仓库名
TAG:标签
DIGEST:数据摘要
Docker rmi -f xxx
-f 强制删除
注意:删除多个时,用空格隔开
//删除单个镜像
docker rmi REPOSITORY:TAG/IMAGE ID
推荐使用docker rmi -f MAGE ID
//删除所有镜像
docker rmi $(docker images -q centos)
容器命令
(有镜像才能创建容器,这是根本前提)
启动容器有两种方式,一是基于镜像创建一个容器并启动,二是将终止状态的容器重新启动。
新建并启动容器
Docker run [OPTIONS] IMAGE [COMMAND][ARG]
OPTIONS说明:
--name 为“容器新名字”:为容器指定一个名称
-d:后台运行容器,并返回容器ID,也即启动守护式容器
-i:以容器模式运行容器,通常与-t同时使用
-t:为容器重新分配一个伪输入终端,通常与-i同时使用;
-P:随机端口映射
-p:指定端口映射,有以下四种格式
Ip:hostPort:containerPort
Ip:containerPort
HostPort:containerPort
containerPort
查看当前所有正在使用的容器
Docker ps [options]
Options说明:
-a 列出当前所有正在运行的容器+历史上运行过的
-l 显示最近创建的容器
-n 显示最近n个创建的容器
-q 静默模式,只显示容器编号
--no-trunc 不截断输出
退出容器
两种退出方式:
- Exit --容器停止退出
- Ctrl+P+Q --容器不停止退出
启动容器
Docker start 容器ID或者容器名
重启容器
Docker restart 容器ID或者容器名
停止容器
Docker stop 容器ID或者容器名
强制停止容器
Docker kill 容器ID或者容器名
删除已停止的容器
Docker rm 容器ID或者容器名
一次性删除多个容器,命令:
1.docker rm -f ${docker ps -aq}
2.docker ps -aq |xargs docker rm
重点来了
启动守护式容器
dokcer run -d 容器名
查看容器日志
docker logs -f -t --tail 容器ID
选项:
-t 加入时间戳
-f 跟随最新的日志打印
--tail 数字 显示最后多少条
查看容器内运行的进程
docker top 容器ID或者容器名
查看容器内部细节
docker inspect 容器ID
进入正在运行的容器并以命令行交互
1.docker exec -it 容器ID /bin/bash (不能省略)
2.重新进入:docker attach 容器ID [bashshell](默认可以不写)
区别:attach直接进入容器启动命令终端,不会启动新的进程
exec是在容器中打开新的终端,并且可以启动新的进程
从容器内拷贝文件到主机上
docker cp 容器ID:容器内路径 目的主机路径