一、docker镜像命令
docker运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,docker会从镜像仓库中下载该镜像。
1、获取镜像
docker pull [选项][docker Registry地址[:端口号]]/仓库名[:标签]
默认地址是Docker Hub。
不加tag(版本号) 即拉取docker仓库中 该镜像的最新版本latest 加:tag 则是拉取指定版本。
举例:
docker pull mysql 5.7.30
搜索镜像:
docker search mysql
2、列出镜像
(1)列表
docker images
上图包含仓库名,标签,镜像id,创建时间和占用空间。
(2)查看镜像、容器、数据卷所占用的空间。
docker system df
(3)删除镜像
强制删除/多个镜像删除:
docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID
删除redis的所有镜像/删除2.0版本之前的镜像:
docker rmi -f $(docker images -q redis)
docker rmi -f $(docker images -q -f before=redis:2.0.0)
(4)保存镜像
docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字
docker save tomcat -o /myimg.tar
二、容器命令
(1)启动容器
启动一个bash终端,允许用户进行交互;
新建并启动容器,参数:-i 以交互模式运行容器;-t 为容器重新分配一个伪输入终端;
–name 为容器指定一个名称;
参数:-d 已守护方式启动容器,后台启动容器。
docker run -i -t --name mycentos /bin/bash
docker run -d mycentos
启动一个或多个已经被停止的容器
docker start redis
重启容器
docker restart redis
(2)查看容器
//查看正在运行的容器
docker ps
//查看正在运行的容器的ID
docker ps -q
//查看正在运行+历史运行过的容器
docker ps -a
//显示运行容器总文件大小
docker ps -s
(3)进入容器
docker exec -i -t centos /bin/bash
关闭容器并退出
exit
(4)容器的停止与删除
//停止一个运行中的容器
docker stop redis
//杀掉一个运行中的容器
docker kill redis
//删除一个已停止的容器
docker rm redis
//删除一个运行中的容器
docker rm -f redis
//删除多个容器
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm
// -l 移除容器间的网络连接,连接名为 db
docker rm -l db
// -v 删除容器,并删除容器挂载的数据卷
docker rm -v redis
(5)导入导出容器
导出容器:
docker export 容器ID > 导出文件名.tar
导入容器:
cat 导出文件名.tar|docker import -镜像用户/镜像名:镜像版本
(6)查看容器日志
//查看mysql容器日志,默认参数
docker logs mysql
//查看mysql容器日志,参数:-f 跟踪日志输出;-t 显示时间戳;--tail 仅列出最新20条容器日志;
docker logs -f -t --tail=20 mysql
//查看容器mysql从2020年11月21日后的最新10条日志。
docker logs --since="2020-11-30" --tail=10 mysql