Docker常用命令:
1.帮助启动类命令
启动docker: systemctl start docker
停止docker: systemctl stop docker
重启docker: systemctl restart docker
查看docker状态: systemctl status docker
开机启动: systemctl enable docker
查看docker概要信息: docker info
查看docker总体帮助文档: docker --help
查看docker命令帮助文档: docker 具体命令 --help
2.镜像命令
列出本地主机上的镜像:
docker images
OPTIONS说明:
-a :列出本地所有的镜像(含历史映像层)
-q :只显示镜像ID。
所有参数说明:
REPOSITORY:表示镜像的仓库源
TAG: 镜像的标签版本号
IMAGE ID:镜像ID
CREATED: 镜像创建时间
SIZE: 镜像大小
同一仓库源可以有多个 TAG版本,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。
如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像
2.1 docker search 某个XXX镜像名字
命令 :docker search [OPTIONS] 镜像名字
OPTIONS说明:
--limit : 只列出N个镜像,默认5个
docker search --limit 5 mysql
2.2 docker pull 某个XXX镜像名字
拉取某个镜像文件
docker pull 镜像名字[:TAG] ,如果不带标签 默认是拉取最新的
docker pull 镜像名字
没有TAG就是最新版 == docker pull 镜像名字:latest
比如: docker pull tomcat8
2.3 docker system df 查看镜像/容器/数据卷所占的空间
2.4 docker rmi 某个XXX镜像名字ID 删除镜像
docker rmi -f 镜像ID 删除单个镜像
docker rmi -f 镜像名1:TAG 镜像名2:TAG 删除多个
docker rmi -f $(docker images -qa) 全部删除
2.5 虚悬镜像
仓库名、标签都是<none>的镜像,俗称虚悬镜像dangling image
2.6 docker commit提交容器副本使之成为一个新的镜像
docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]
3.容器命令
3.1 启动容器 run命令
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明 :启动交互式容器(前台命令行)OPTIONS说明(常用):有些是一个减号,有些是两个减号
--name="容器新名字" 为容器指定一个名称;
-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
也即启动交互式容器(前台有伪终端,等待交互); 例如: docker run -it centos /bin/bash
-P: 随机端口映射,大写P
-p: 指定端口映射,小写p
3.1 列出所有的镜像 docker ps
docker ps [OPTIONS]
OPTIONS说明(常用):
-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n:显示最近n个创建的容器。
-q :静默模式,只显示容器编号。
3.2 退出容器
1.run进去容器,exit退出,容器停止
2.run进去容器,ctrl+p+q退出,容器不停止
3.3 启动已停止的容器
docker start 容器ID或者容器名
docker restart 容器ID或者容器名 重启容器
docker stop 容器ID或者容器名 停止容器
docker kill 容器ID或容器名 强制停止容器
删除已停止的容器:
docker rm 容器ID
一次性删除多个容器实例
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm
拉取 redis: docker pull redis:6.0.8
演示 前后台启动 问题
前台启动: docker run -it redis:6.0.8
控制台 commnd退出,程序就退出
后台启动: docker run -d -p 6379:6379 redis:6.0.8
进程一直在 ,查看日志
3.3 文件拷贝
从容器内拷贝文件到主机上
容器→主机
docker cp 容器ID:容器内路径 目的主机路径
docker cp 756055d0a455:/data/a.txt /root/yulang
3.4 导入和导出容器
export 导出容器的内容留作为一个tar归档文件[对应import命令]
import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]
案例
docker export 容器ID > 文件名.tar
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号
3.5 inspect 查看容器信息
docker inspect 16ecd2772934 镜像id