前言
在我们的日常工作中,关于 Docker 的使用,用的较多的就是关于镜像和容器的操作了,因此,这里整理了一些关于镜像和容器的常用命令。
镜像的操作
搜索镜像
搜索中央仓库镜像
docker search 镜像名称
拉取镜像
从中央仓库拉取镜像到本地
docker pull 镜像名称[:tag]
# 例如:docker pull daocloud.io/library/tomcat:8.5.15-jre8
查看本地全部镜像
查看本地已经安装过的镜像信息,包含标识,名称,版本,更新时间,大小
docker images
删除本地镜像
镜像会占用磁盘空间,可以直接手动删除,‘标识’ 通过查看获取
docker rmi 镜像的标识 | 镜像名称:tag
docker rmi b8dfe9ade316
docker rmi daocloud.io/library/tomcat:8.5.15-jre8
镜像的导入导出
如果出现网络故障,可以采过硬盘的方式传输镜像,虽然不规范,但是有效。 但是这种方式导出的镜像名称和版本都是null,需要手动修改
# 将本地的镜像导出
docker save -o 导出的路径 镜像id
doeker save -o /usr/local/abc.tar b8dfe9ade316
# 加载本地的镜像文件
docker load -i 镜像文件
docker load -i /usr/local/abc.tar
# 修改镜像名称
docker tag 镜像id 新镜像名称:版本
docker tag b8dfe9ade316 mytomcat:1.0
容器的操作
运行容器
运行容器需要指定具体镜像,如果镜像不存在,会直接下载
# 简单操作
docker run 镜像的标识 | 镜像名称[:tag]
docker run b8dfe9ade316
docker run daocloud.io/library/tomcat:8.5.15-jre8
# 常用的参数
docker run -di -p 宿主机端口:容器端口 --name 容器名称 镜像的标识|镜像名称[:tag]
docker run -di -p 8090:8080 --name my_container b8dfe9ade316
# -i 表示运行容器
# -d:代表后台运行容器(守护式进程)
# -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用。
# -it : 创建交互式进程
# -p 宿主机端口:容器端口:为了映射当前Linux的端口和容器的端口
# --name 容器名称:指定容器的名称
查看正在运行的容器
查看全部正在运行的容器信息
docker ps [-qa]
# -a:查看全部的容器,包括没有运行
# -q:只查看容器的标识
查看容器日志
查看容器日志,以查看容器运行的信息
docker logs -f 容器id
# -f:可以滚动查看日志的最后几行
进入容器内容部
可以进入容器内部进行操作
docker exec -it 容器id bash
docker exec -it 容器名称 bash
复制内容到容器
将宿主机的文件复制到容器内部的指定目录
docker cp 文件名称 容器id:容器内部路径
重启&启动&停止&删除容器
容器的启动,停止,删除等操作,后续经常会使用到
# 重新启动容器
docker restart 容器id
# 启动停止运行的容器
docker start 容器id
# 停止指定的容器(删除容器前,需要先停止容器)
docker stop 容器id
# 停止全部容器
docker stop $(docker ps -qa)
# 删除指定容器
docker rm 容器id
# 删除全部容器
docker rm $(docker ps -qa)