基础命令
- docker version
- docker info
- docker --help
镜像命令
查看
docker images
其中:
REPOSITORY: 表示镜像的仓库源
TAG: 镜像的标签 (默认的版本标签为 latest, 拉镜像时可以指定 TAG)
IMAGE ID: 镜像 ID
CREATED: 镜像创建时间
SIZE: 镜像大小
命令的选项有:
-a: 列出本地所有的镜像
-q: 只显示镜像 ID
--digests: 显示镜像的摘要信息
--no-trunc: 显示完整的镜像信息
其中最常用的为
docker images -qa
搜索
docker search [镜像名]
常见的命令选项有:
--no-trunc: 显示完整的镜像描述
-s: 列出星星数不小于指定值的镜像
--automated: 列出所有自动构建的镜像
下载镜像
docker pull [镜像名]
pull 命令类似 Git 拉取代码, 用于下载镜像, 镜像名后可以跟 TAG 用于指定版本 docker pull 镜像名: TAG, 在 docker 中不加 TAG 默认为 latest
删除镜像文件
docker rmi 镜像名 ID
可以跟镜像 ID 也可以跟镜像名. 可以使用 -f 强制删除, 如果需要删除所有镜像可以使用 docker rmi -f $(docker images -qa)
如果删除时提示冲突, 可以先删掉记录 docker ps -a -q | xargs docker rm 或者 docker rm -f $(docker ps -a -q) 然后再删除即可
容器命令
下载镜像
docker pull CentOS
新建并运行容器
docker run [OPTIONS] image [COMMAND] [ARG]
常用的选项有:
--name: 给容器指定名字, 不指定的话会自动给定一个名字
-d: 后台运行容器, 返回容器 ID
-i 与 -t:-i 表示以交互式方式运行容器,-t 表示为容器分配一个伪终端, 通常两者一起使用
-P: 随机端口映射
-p: 指定端口映射关系
--rm: 对于 foreground 容器, 由于其只是在开发调试过程中短期运行, 其用户数据并无保留的必要, 使用该选项, 这样在容器退出时就能够自动清理容器内部的文件系统, 但是不能和 -d 同时使用
运行方式:
交互式容器
docker run -it CentOS /bin/bash
表示: 使用镜像 CentOS:latest 以交互模式启动一个容器, 在容器内执行 / bin/bash 命令.
2. 守护式容器
docker run -d CentOS
运行以后在进程中看不到对应的容器. 因为 Docker 容器后台运行, 就必须有一个前台进程. 容器运行的命令如果不是那些一直挂起的命令, 就会自动退出.
查看正在运行的容器
docker ps [OPTIONS]
常见的选项有
-a: 列出当前所有正在运行的容器 + 历史上运行过的
-l: 显示最近创建的容器
-n: 显示最近 n 个创建的容器
-q: 静默模式, 只显示容器编号
--no-trunc: 不截断输出
退出容器
停止退出
在容器的交互式终端输入 exit 回车或者使用 "ctrl+D" 即可停止容器并退出
容器不停止退出
即容器仍然在后台运行, 但是推出交互式终端, 使用 "ctrl+P+Q" 即可
启动容器
docker start 容器 ID 或者容器名
重启容器
docker restart 容器 ID 或者容器名
停止容器
1. 正常停止
docker stop 容器 ID 或者容器名
2. 强制停止
docker kill 容器 ID 或者容器名
删除已经停止的容器
docker rm 容器 ID
如果需要一次性删除多个容器, 可以使用:
docker rm -f $(docker ps -a -q)
查看日志
docker logs 容器 ID
通常添加如下选项:
-t: 加入时间戳
-f: 跟随最新的日志打印
--tail 数字: 显示最后多少条
查看容器内部
查看容器内部进程
docker top 容器 ID
查看容器内部细节
docker inspect 容器 ID
进入正在运行的容器
exec 进入
docker exec -it 容器 ID /bin/bash
在容器中打开新的终端, 并且可以启动新的进程
attach 进入
docker attach 容器 ID
直接进入容器启动命令的终端, 不会启动新的进程
拷贝
1. 从容器拷贝到宿主机上:
docker cp 容器 ID: 容器内路径 目标的宿主机目录
2. 从宿主机拷贝到容器:
docker cp 宿主机的目录 容器 ID: 容器内路径
不管容器是否启动, 拷贝都会生效
来源: https://www.cnblogs.com/liangmingshen/p/13412936.html