文章首发于公众号《程序员果果》
地址:https://mp.weixin.qq.com/s/S9VkzSJx_JOY8zDiC_nuEg
1. 启动容器
docker run IMAGE [COMMAND] [ARG...]
- IMAGE 是指启动容器所使用的操作系统镜像
- [COMMAND] [ARG...] 指的是容器启动后运行的命令及其参数
2. 启动交互式容器
#启动交互式容器
docker run -i -t IMAGE /bin/bash
#退出交互式容器的bash,这样容器就会在后台运行
Ctrl+P+Q
在run命令中增加了两个参数 -i -t ,并在容器启动时运行bash命令
- i --interactive=true | fasle 默认是false
用来告诉docker守护进程为容器始终打开标准输入 - -t --tty = true | false 默认是false
告诉docker要为创建的容器分配一个--tty终端,这样新创建的容器才能提供一个交互式的shell
3. 启动守护式容器
docker run -d 镜像名 [COMMAND] [ARG...]
- -d 是指以后台的形式运行命令
4. 查看运行的容器
docker ps [-a] [-l]
- [-a] 列出所有创建的容器
- [-l] 列出最新创建的容器
5. 查看容器的详细配置
docker inspect CONTAINER_ID
6. 重启、停止容器
docker restart [-i] 容器名/容器ID
docker stop 容器名/容器ID (发送信号,等待停止)
docker kill 容器名/容器ID(直接停止)
7. 删除停止的容器
docker rm 容器名/容器ID
- -f : 通过SIGKILL信号强制删除一个运行中的容器
- -v : 删除与容器关联的卷
8. 附加到运行的容器(进入刚刚退出的容器)
docker attach 容器名/容器ID
9.查看容器日志
docker logs [-f] [-t] [--tail] 容器名
- -f --follows=true | false 默认为false,告诉logs命令一直跟踪日志的变化并返回结果
- -t --timestamps=true | false 默认为false,在返回的结果上加上时间戳
- --tail = "all" 是选择返回结尾处多少数量的日志,如果不指定的话就返回所有的日志
10. 查看容器内进程
docker top 容器名/容器ID
11. 在运行中的容器内启动新进程
docker exec [-d] [-i] [-t] 容器名 [COMMAND] [ARG...]
例子:
docker exec -i -t 容器名 /bin/bash
12. 停止守护式容器
#stop 会给容器发送一个信号,等待容器的停止
docker stop 容器名
#直接停止容器
docker kill 容器名
13. 列出镜像
docker images [OPTSIONS] [REPOSITORY]
- -a --all=false 显示所有镜像,默认并不显示中间层的镜像
- -f --filter=[] 显示时的过滤条件
- --no-trunc=false 指定不使用截断的形式来显示数据,默认情况下我们用images查到的列表会截断镜像的唯一id
- -q --quiet=false 只显示镜像的唯一id
14. 获取容器/镜像的元数据
docker inspect [OPTIONS] CONTAINER|IMAGE[CONTAINER|IMAGE...]
15. 删除镜像
docker rmi [OPTIONS] IMAGE [IMAGE...]
- -f,--force=false 强制删除镜像
- --no-prune=false 保留被删除镜像中被打标签的父镜像