Docker 基础命令
2020-03-31 本文已影响0人
Alexander_Zz
一、镜像基础命令
1.1 搜索镜像
~]# docker search centos:7.2.1511
# 查找指定的版本
~]# docker search centos
# 未指定则默认查找最新版本 latest
1.2 下载镜像
~]# docker pull nginx
~]# docker pull centos
示例.png
示例.png
1.3 查看本地镜像
~]# docker images
示例.png
REPOSITORY # 镜像所属的仓库名称
TAG # 镜像版本号(标识符),默认为 latest
IMAGE ID # 镜像唯一 ID 标示
CREATED # 镜像创建时间
VIRTUAL SIZE # 镜像的大小
1.4 导出镜像
将镜像从本地导出为压缩文件,复制到其他服务器导入使用
- 方法1
~]# docker save -o /opt/centos.tar.gz centos
~]# ll /opt/centos.tar.gz
-rw------- 1 root root 205225472 Nov 1 03:52 /opt/centos.tar.gz
- 方法2
~]# docker save centos > /opt/centos.tar.gz
~]# ll /opt/centos.tar.gz
-rw------- 1 root root 205225472 Nov 1 03:52 /opt/centos.tar.gz
1.5 查看镜像内容
~]# tar xvf /opt/centos.tar.gz
~]# cat manifest.json # 包含了镜像的相关配置,配置文件、分层
[{"Config":"9f38484d220fa527b1fb19747638497179500a1bed8bf0498eb788229229e6e1.json","RepoTags":["centos:latest"],"Layers":["3dd8a7a03c185daa33b52d9d0bb475d902915732e5fdc92a4dd2c93c58fe9d14/layer.tar"]}]
# 分层为了方便文件的功用,即相同的文件可以共用
[{"Config":" 配置文件.json","RepoTags":["docker.io/nginx:latest"],"Layers":[" 分层 1 /layer.tar","分层 2 /layer.tar","分层 3 /layer.tar"]}]
1.5 导入镜像
~]# docker load < /opt/centos.tar.gz
示例.png
示例.png
1.6 删除镜像
~]# docker rmi centos
1.7 获取帮助
`]# docker --help
1.8 总结
docker load -i centos-latest.tar.xz # 导入本地镜像
docker save -o /opt/centos.tar.gz centos # 导出镜像
docker rmi 镜像 ID/镜像名称 # 删除指定 ID 的镜像,通过镜像启动容器的时 候镜像不能被删除,除非将容器全部关闭
docker rm 容器 ID/容器名称 # 删除容器
docker rm 容器 ID/容器名 -f # 强制删除正在运行的容器
二、容器操作基础命令
2.1 命令格式
docker run [选项] [镜像名] [shell 命令] [参数]
docker run [参数选项] [镜像名称,必须在所有选项后面] [/bin/echo 'hello world' # 单次执行,没有自定义容器名称
docker run centos /bin/echo 'hello world' # 启动的容器执行完 shell 就退出了
- 从镜像启动一个容器
会直接进入到容器中,并随机生成容器 ID 和名称
~]# docker run -it docker.io/centos bash
08234bac1e4c /]#
# 退出容器不注销
ctrl + p + q
- 显示正在运行的容器,及包括关闭或不关闭的
~]# docker ps
image.png
- 显示所有容器
- 删除运行中的容器
- 随机映射端口
- 指定端口映射
- 查看容器已映射端口
- 自定义容器名称
- 后台启动容器
- 单次运行
- 容器的启动和关闭
- 创建并进入容器
- 进入到正在运行的容器
- 查看容器内部 hosts 文件
- 查看容器详细信息
- 批量关闭运行中的容器
- 批量强制关闭运行中的容器
- 批量删除已退出的容器
- 批量删除所有容器