首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
清单首页Docker文章详情

Docker常用命令

Docker常用命令

1、帮助启动类命令

启动docker

代码语言:javascript
复制
systemctl start docker

停止docker

代码语言:javascript
复制
systemctl stop docker

重启docker

代码语言:javascript
复制
systemctl restart docker

查看docker状态

代码语言:javascript
复制
systemctl status docker

开机启动

代码语言:javascript
复制
systemctl enable docker

查看docker概要信息

代码语言:javascript
复制
docker info

查看docker总体帮助文档

代码语言:javascript
复制
docker --help

查看docker命令帮助文档

代码语言:javascript
复制
docker 具体命令 --help

例如:

2、镜像命令

列出本地主机上的镜像

代码语言:javascript
复制
docker images

各个选项说明: REPOSITORY:表示镜像的仓库源 TAG:镜像的标签版本号 IMAGE ID:镜像ID CREATED:镜像创建时间 SIZE:镜像大小 同一仓库源可以有多个 TAG版本,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像

OPTIONS说明:

  • -a:列出本地所有的镜像(包含历史映像层)
  • -q:只显示镜像ID

查找某个镜像

代码语言:javascript
复制
docker search [OPTIONS] 镜像名字

OPTIONS说明:–limit:只列出N个镜像,默认25个。

拉取镜像

代码语言:javascript
复制
docker pull 镜像名字[:TAG]

没有TAG就默认拉取最新版,等价于docker pull 镜像名字:latest

查看镜像/容器/数据卷所占的空间

代码语言:javascript
复制
docker system df

删除镜像

删除单个镜像

代码语言:javascript
复制
docker rmi -f 镜像ID

删除多个

代码语言:javascript
复制
docker rmi -f 镜像名1:TAG 镜像名2:TAG

删除全部(谨慎操作)

代码语言:javascript
复制
docker rmi -f $(docker images -qa)

3、容器命令

有镜像才能创建容器

新建+启动容器

代码语言:javascript
复制
docker run [OPTIONS] IMAGE[COMMAND][ARG...]

OPTIONS说明(常用):有些是一个减号,有些是两个减号 –name=“容器新名字” 为容器指定一个名称; -d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行); -i:以交互模式运行容器,通常与 -t 同时使用; -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用; 也即启动交互式容器(前台有伪终端,等待交互); -P: 随机端口映射,大写P -p: 指定端口映射,小写p

参数说明: -i: 交互式操作。 -t: 终端。 centos : centos 镜像。 /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。 要退出终端,直接输入 exit:

列出当前所有正在运行的容器

代码语言:javascript
复制
docker ps [OPTIONS]

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

退出容器

两种退出方式:

  • exit:run命令进入容器,exit退出,容器停止
  • ctrl+p+q:run命令进入容器,ctrl+p+1退出,容器不停止

启动已经停止的容器

代码语言:javascript
复制
docker start 容器ID或者容器名

重启容器

代码语言:javascript
复制
docker restart 容器ID或者容器名

停止容器

代码语言:javascript
复制
docker stop 容器ID或者容器名

强制停止容器

代码语言:javascript
复制
docker kill 容器ID或者容器名

删除已经停止的容器

代码语言:javascript
复制
docker rm 容器ID

强制删除:

代码语言:javascript
复制
docker rm -f 容器ID

删除多个容器

代码语言:javascript
复制
docker rm -f $(docker ps -a -q)

启动守护式容器(后台服务器)

代码语言:javascript
复制
docker run -d 容器名

redis后台守护式启动:

redis前台交互式启动:

查看容器日志

代码语言:javascript
复制
docker logs 容器ID

查看容器内运行的进程

代码语言:javascript
复制
docke top 容器ID

查看容器内部细节

代码语言:javascript
复制
docker inspect 容器ID

进入正在运行的容器并以命令行交互

进入redis容器

代码语言:javascript
复制
docker exec -it c9486bfc3346 /bin/bash

或者

代码语言:javascript
复制
docker attach 容器ID

上面两种进入容器方式的区别:

  • attach 直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器的停止。
  • exec 是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器的停止。

所以我们推荐使用docker exec 命令,因为退出容器终端,不会导致容器的停止。

从容器内拷贝文件到主机上

代码语言:javascript
复制
docker cp 容器ID:容器内路径 目的主机路径

导入和导出容器

export导出容器的内容作为一个tar归档文件[对应import命令]

import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]

先启动一个ubuntu容器:

导出容器

代码语言:javascript
复制
docker export 2a88a4eb7f6e >aaa.tar

将aaa.tar文件使用docker import命令变成镜像

代码语言:javascript
复制
cat 文件名.tar | docker import -镜像用户/镜像名:镜像版本号
下一篇
举报
领券