docker常用命令

81 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第32天,点击查看活动详情

docker常用命令

帮助启动类命令

启动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

镜像命令

列出本地主机上的镜像: docker images OPTIONS说明: -a :列出本地所有的镜像(含历史映像层) -q :只显示镜像ID。 在这里插入图片描述 同一仓库源可以有多个 TAG版本,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。 如果不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像。

查找某个镜像:docker search [OPTIONS] 镜像名字 OPTIONS说明: --limit : 只列出N个镜像,默认25个 例如:docker search --limit 5 redis 在这里插入图片描述 下载镜像:docker pull 镜像名字[:TAG] 例如:docker pull redis:6.0.7 没有TAG就是最新版,等价于:docker pull 镜像名字:latest

查看镜像/容器/数据卷所占的空间:docker system df

删除镜像:docker rmi 镜像名字或ID

删除单个:docker rmi 镜像ID 删除多个:docker rmi 镜像名1:TAG 镜像名2:TAG 删除全部:docker rmi $(docker images -qa) 强制删除:docker rmi -f 镜像ID

容器命令

新建+启动容器:docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 例如:docker run - it ubuntu /bin/bash /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

OPTIONS说明(常用):有些是一个减号,有些是两个减号 --name="容器新名字" 为容器指定一个名称,不写的话系统会随机指定一个; -d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);

-i:以交互模式运行容器,通常与 -t 同时使用; -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用; 也即启动交互式容器(前台有伪终端,等待交互);

-P: 随机端口映射,大写P -p: 指定端口映射,小写p

要退出终端,直接输入 exit


列出当前所有正在运行的容器:docker ps [OPTIONS]

OPTIONS说明(常用): -a :列出当前所有正在运行的容器+历史上运行过的 -l :显示最近创建的容器。 -n:显示最近n个创建的容器。 -q :静默模式,只显示容器编号。

退出容器:两种方式 exit:run进去容器,exit退出,容器停止 ctrl+p+q:run进去容器,ctrl+p+q退出,容器不停止

启动已停止运行的容器: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

查看容器日志:docker logs 容器ID

查看容器内运行的进程:docker top 容器ID

查看容器内部细节:docker inspect 容器ID


进入正在运行的容器并以命令行交互: docker exec -it 容器ID /bin/bash docker attach 容器ID

上述两个区别: exec 是在容器中打开新的终端,并且可以启动新的进程 用exit退出,不会导致容器的停止。 attach 直接进入容器启动命令的终端,不会启动新的进程 用exit退出,会导致容器的停止。 所以推荐使用 docker exec 命令,因为退出容器终端,不会导致容器的停止。 一般用-d后台启动的程序,再用exec进入对应容器实例。

从容器内拷贝文件到主机上:docker cp 容器ID:容器内路径 目的主机路径 在这里插入图片描述 导入和导出容器: export 导出容器的内容留作为一个tar归档文件[对应import命令]:docker export 容器ID > 文件名.tar

import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]:cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号 例如:cat abcd.tar | docker import - zagiee/ubuntu:1.2