docker 指令
systemctl start docker # 开启docker服务
systemctl status docker #查看docker运行状态
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker
docker version #查看Docker版本信息
docker info #显示Docker的系统信息,包括镜像和容器的数量
docker 命令 --help #查看所有的命令
镜像
docker images #查看所有的镜像
-a, --all #列出所有的镜像
-q,--quiet #只显示镜像的id
docker search 镜像(id或名称) # 搜索镜像
-f,--filter #根据提供的条件过滤输出
--limit #最大搜索结果数
docker pull 镜像名 # 下载镜像
docker pull 镜像名:版本号 # 指定版本下载镜像
docker rmi -f 镜像ID # 删除镜像 -f强制
docker rmi -f 镜像ID 镜像ID # 删除多个进行
docker rmi -f $(docker images -aq) # 删除全部镜像
docker build -f dockerfile文件 -t 镜像名:版本号 .
#-f file,后面加要执行的dockerfile文件
#-t tagged,后面加镜像的名称
docker history 镜像ID # 查看镜像构建过程
容器
docker run [可选参数] image(镜像名):版本号 # 默认是最新版本
可选参数:
--name="name" 容器名字,通过一个镜像可以创建多个容器实例,命名可以区分不同的容器
-d 以后台的方式运行 (使用-d命令常见的坑:比如我们想启动以下Nginx服务,只让他在后台运行,但是没有前台的服务可以交互,那么系统就会默认把这个服务关掉!不提供服务!)
-it 使用交互方式运行,进入容器查看内容
-p 指定容器的端口
有四种方式
-p ip:主机端口:容器端口
-p 主机端口:容器内部端口(常用,主机端口映射某个容器内部的端口号,访问主机的端口,即可访问容器)
-p 容器端口
容器端口
-P 随机指定端口
--rm 容器关闭后就被删除掉,一般用于测试!
exit # 退出并停止容器
Ctrl + P + Q 退出但是不停止
docker ps # 查看正在运行的容器
可选参数:
-a # 列出所有的容器
-n=3 # 显示最近运行的容器的个数
-p # 只显示容器的编号(和docker image -aq类似
docker rm 容器ID #删除指定的容器,不能删除正在运行的容器,想强制删除: rm -f
docker rm -f $(docker ps -aq) #删除所有的容器
docker ps -a -q|xargs docker rm #删除所有的容器
docker start 容器ID #启动容器
docker restart 容器ID #重启容器
docker stop 容器ID #停止当前正在运行的容器
docker kill 容器ID #强制停止正在运行的容器
docker top 容器ID # 查看容器内部进程信息
docker inspect 容器id # 查看容器元数据
docker exec -it 容器ID /bin/bash
或
docker attach 容器ID
区别:
docker exec #进入容器后开启一个新的终端,可以在里面做一些操作(常用!)
docker attach #进入容器正在执行的终端,不会开启新的进程!
docker cp 容器ID:容器内文件路径 目的主机路径 # 将容器内的文件拷贝到主机
注:运行的容器是独立且隔离的,与宿主机不共享文件资源,因此可通过 拷贝文件 或 容器与服务器路径挂载映射 来实现 资源同步共享
docker logs [参数选项] 容器id
可选参数:
-t #打印时间戳
-f #实时追踪日志
--tail number #显示指定的日志条数
参考文档:docker常用命令大全