【Docker】Docker常用命令(查阅)

本文详细介绍了Docker的常用命令,包括镜像的获取、检索、查看、构建、删除和打标签,容器的启动、停止、日志查看、文件拷贝等操作,以及Docker系统的资源监控和清理方法。通过本文,读者可以全面了解和掌握Docker的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

镜像相关命令

获取镜像

仓库地址默认是docker hub(docker的官方仓库地址)
用户地址默认是官方仓库library
版本号默认是latest

docker pull 仓库地址/用户名/仓库名:版本

举例:

docker pull ubuntu

docker pull registry.hub.docker.com/library/ubuntu:latest

检索镜像

docker search 镜像名(模糊搜索)

查看本地镜像

docker image ls
# or
docker images

举例:

# 列出所有镜像
docker images
# 列出所有ubuntu镜像
docker images  ubuntu

通过dockerfile构建镜像

docker build [options]
  • options:
    -t:通常是 镜像名:标签 的形式 ,或只设定镜像名
    -f :指定要使用的Dockerfile路径,默认当前目录
    -m:设置内存最大值
    –cpu-shares:设置CPU使用权重

删除镜像

根据容器id或容器名删除镜像,加上-f参数后会强制删除镜像

docker rmi 容器名|容器ID
docker rmi -f 容器名|容器ID

删除未被标记和容器使用的镜像:

docker image prune

删除未被容器使用的镜像:

docker image prune -a

给镜像打标签

可以通过指定仓库名/用户名/镜像名:标签的形式将镜像打上标签,将其归入某一仓库。

docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]

举例:

docker tag ubuntu:15.10 runoob/ubuntu:v3

将镜像归档成文件

-o 表示指定导出的文件名

 docker save runoob/ubuntu:v3 -o my_ubuntu_v3.tar 

从归档的镜像文件载入到本地镜像库

-i 表示指定导入的文件名

docker load -i my_ubuntu_v3.tar 

查看镜像的元数据

docker inspect 镜像ID|镜像名

容器相关命令

启动容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

-d: 后台运行容器,并返回容器ID;

-i:打开STDIN,以交互模式运行容器,通常与 -t 同时使用;

-w:指定容器工作目录

-v:挂载存储卷到容器某目录

–restart=“no” :(no退出不重启、on-failure出错失败重启、always停止就重启)

-P: 随机端口映射,容器内部端口随机映射到主机的高端口

-p 80:80 :宿主机端口:容器暴露的端口 (端口映射)

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

–name=“VideoInfoCompletion”: 为容器指定一个名称;

-c:设置CPU权重

-m :设置内存上限

-h :指定容器主机名(hostname)


-u:指定容器的用户

–dns 8.8.8.8:指定容器使用的DNS服务器,默认和宿主一致;

–dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;

-e username=“ritchie”: 设置环境变量;

–env-file=[]: 从指定文件读入环境变量;

–cpuset=“0-2” or --cpuset=“0,1,2”: 绑定容器到指定CPU运行;

–net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

–link=[]: 添加链接到另一个容器;

–expose=[]: 开放一个端口或一组端口;

举例:

docker run -p 80:80 -v /data:/data -d nginx:latest

docker run -it nginx:latest /bin/bash

启动、停止、重启、暂停、恢复容器

可以操作一个或多个容器

docker start   容器ID|容器名
docker stop    容器ID|容器名
docker restart 容器ID|容器名
docker pause   容器ID|容器名
docker unpause 容器ID|容器名

创建一个容器,但不启动

语法和docker run 一样

docker create [OPTIONS] IMAGE [COMMAND] [ARG...]

在容器内执行命令

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

举例:

# 通过带参数-it并执行/bin/bash的方式进入容器
 docker exec -it ubuntu /bin/bash

# 在后台执行命令
docker exec -d ubuntu python -u /usr/cmdline.py

删除容器

删除一个或多个容器

docker rm [OPTIONS] CONTAINER [CONTAINER...]

不带参数:只能删除未运行的容器

-f :通过 SIGKILL 信号强制删除一个运行中的容器。

-v :删除与容器关联的卷。

删除所有已停止的容器

docker rm $(docker ps -a -q)
# or
docker container prune

查看本地容器

docker ps [options]

不带参数:显示正在运行的容器
-a:显示所有容器
-q:只显示容器ID
-n num:显示最近创建的num个容器
-s:显示容器的大小

查看容器输出的日志

docker logs [OPTIONS] 容器名|容器ID

-f:持续输出
-t:显示时间戳
-tail n:列出最新n条日志
-since:列出从某时间开始的日志

主机与容器之间文件的互相拷贝

docker cp 主机目录  容器ID:容器目录
docker cp 容器ID:容器目录  主机目录 

查看容器内文件目录结构的修改

docker diff 容器名|容器ID

查看容器的元数据

docker inspect 容器ID|容器名

查看容器运行的进程信息

docker top 容器名|容器ID

查看容器的端口映射

docker port 容器名|容器ID

Docker系统相关命令

查看Docker的磁盘占用

# 查看docker镜像、容器、本地数据卷的磁盘占用情况
docker system df
# 查看细节
docker system df -v

查看各个容器的实时占用系统资源情况

docker stats

查看Docker的事件

docker events [OPTIONS]

-f :根据条件过滤事件;

–since :从指定的时间后显示所有事件;

–until :显示到指定事件为止的所有事件;

举例:

docker events  --since="1467302400"
docker events  --since="2020-01-13"

# 显示镜像名是ubuntu的所有事件
docker events -f "image"="ubuntu"

Docker prune 进行清理

# 清理未被标记和使用的镜像
docker image prune
# 清理未被使用的镜像
docker image prune -a
# 清理未运行的容器
docker container prune
# 清理未被挂载的数据卷
docker volume prune
# 清理所有网络:
docker network prune

# 用于清理dangling镜像和所有关闭的容器,以及失效的数据卷和网络。
docker system prune

# 深度清理,保留真正正在使用的镜像、容器、数据卷以及网络(如果有备份会被删掉)
docker system prune -a

查看Docker版本信息

docker version

查看Docker在当前系统的信息

docker info

得到如下结果

Client:
 Debug Mode: false

Server:
 Containers: 9
  Running: 1
  Paused: 0
  Stopped: 8
 Images: 27
 Server Version: 19.03.5
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: b34a5c8af56e510852c35414db4c1f4fa6123456
 runc version: 3e425f80a8c931f88e6d94a8c831b9d5aa481234
 init version: fec1234
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 4.15.0-72-generic
 Operating System: Ubuntu 18.04.1 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 40
 Total Memory: 125.8GiB
 Name: dell
 ID: YR2U:BWBW:N4WR:TSHY:BA3H:MN76:EUP7:USLH:7BQF:6AOR:2UR3:1234
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  http://f1361db2.m.daocloud.io/
 Live Restore Enabled: false

WARNING: No swap limit support

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值