docker基础命令
容器生命周期管理
run 创建一个新容器并运行
start 开启一个容器并使其在后台运行
stop 停止一个容器
restart 重启一个容器
kill 杀掉一个容器进程
rm 删除容器
pause 暂停容器
unpause 恢复暂停容器
create 从镜像中创建一个容器
exec 对一个容器执行shell命令
容器操作
ps 列出容器
inspect 获取容器或镜像的元数据
top 查看正在运行中的容器进程信息
attach 链接正在运行的容器
events 从docker服务器获取事件
logs 获取docker日志
wait 让一个容器进入等待,使其进入阻塞状态
export 讲一个容器的文件系统打包至tar
port 列出一个容器的端口映射情况
container 管理已经运行的容器的
deploy 部署新的堆栈或更新已有堆栈的
update 更新容器
rename 重命名容器
volume 卷管理
容器文件系统操作
commit 提交一个容器的文件系统,使之生成一个新的镜像
cp 向一个正在运行的容器复制文件,或将容器中的文件复制出来
diff 检查一个容器文件系统更改情况
镜像仓库操作
login docker登入
logout docker登出
pull 拉取镜像
push 推送镜像至服务器
search 在docker hub上查询镜像
镜像管理
images 列出镜像
rmi 删除镜像
tag 修改本地某一镜像的标记,使其镜像属于某一仓库
build 通过指定Dockerfile文件编译镜像
history 查看镜像历史
save 将制定镜像保存成tar文件
load 从tar中恢复镜像
import 从tar中创建一个新镜像
checkpoint 设置checkpoint,类似于恢复点,可以让镜像撤销到曾经设置的某一个checkpoint上
image docker镜像管理
manifest docker镜像清单管理
trust docker可信镜像管理
集群管理
swarm docker集群管理工具
node docker集群节点控制
stack docker集群堆栈管理
其他命令
info 查询docker信息
version 查询docker版本
system docker系统管理
stats docker容器资源使用统计
config 管理docker配置
network docker网络管理
plugin docker插件管理
secret docker敏感信息管理
service docker服务管理
常用docker命令语法
镜像相关
1、搜索镜像文件
docker search [OPTIONS] TERM
--automated :只列出 automated build类型的镜像;
--no-trunc :显示完整的镜像描述;
-s :列出收藏数不小于指定值的镜像。
2、列出全部镜像文件
docker images [OPTIONS] [REPOSITORY[:TAG]]
-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
--digests :显示镜像的摘要信息;
-f :显示满足条件的镜像;
--format :指定返回值的模板文件;
--no-trunc :显示完整的镜像信息;
-q :只显示镜像ID。
3、拉去镜像文件
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
-a :拉取所有 tagged 镜像
--disable-content-trust :忽略镜像的校验,默认开启
例如:docker pull nginx 等价于docker pull nginx:latest
4、删除镜像文件
docker rmi [OPTIONS] IMAGE [IMAGE...]
OPTIONS说明
-f :强制删除;
--no-prune :不移除该镜像的过程镜像,默认移除;
例如:
docker rmi -f nginx 等价于 docker rmi -f nginx:latest
删除单个:docker rmi -f 镜像ID
删除多个:docker rmi -f 镜像名1:TAG 镜像名2:TAG
删除全部:docker rmi -f $(docker images -aq)
容器相关
1、新建并启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS(常用)说明:
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的高端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;
--volume , -v: 绑定一个卷
2、列出容器列表
docker ps [OPTIONS]
OPTIONS说明:
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
--format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
--no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。
3、退出容器
exit 容器停止退出
Ctrl+P+Q 容器不停止退出
4、启动容器、停止和重启容器
docker start [OPTIONS] CONTAINER [CONTAINER...]
docker stop [OPTIONS] CONTAINER [CONTAINER...]
docker restart [OPTIONS] CONTAINER [CONTAINER...]
5、删除容器
docker rm [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS说明:
-f :通过 SIGKILL 信号强制删除一个运行中的容器。
-l :移除容器间的网络连接,而非容器本身。
-v :删除与容器关联的卷。
6、查看docker日志
docker logs [OPTIONS] CONTAINER
OPTIONS说明:
-f : 跟踪日志输出,跟随最近的日志打印
--since :显示某个开始时间的所有日志
-t : 显示时间戳
--tail :仅列出最新N条容器日志
7、查看docker内进程
docker top [OPTIONS] CONTAINER [ps OPTIONS]
8、获取容器的元数据
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
OPTIONS说明:
-f :指定返回值的模板文件。
-s :显示总的文件大小。
--type :为指定类型返回JSON。
9、进入容器
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS说明:
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端