docker命令

2023-05-16

1 docker version

docker version :显示 Docker 版本信息。

docker version

例如:

# docker version
Client: Docker Engine - Community
 Version:           20.10.17
 API version:       1.40
 Go version:        go1.17.11
 Git commit:        100c701
 Built:             Mon Jun  6 23:05:12 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          19.03.15
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       99e3ed8919
  Built:            Sat Jan 30 03:16:33 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.7
  GitCommit:        0197261a30bf81f1ee8e6a4dd2dea0ef95d67ccb
 runc:
  Version:          1.1.3
  GitCommit:        v1.1.3-0-g6724737
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

2 docker info

docker info : 显示 Docker 系统信息,包括镜像和容器数。

docker info

例如:

# docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Docker Buildx (Docker Inc., v0.8.2-docker)
  scan: Docker Scan (Docker Inc., v0.17.0)

Server:
 Containers: 86
  Running: 47
  Paused: 0
  Stopped: 39
 Images: 22
 Server Version: 19.03.15
 Storage Driver: overlay2
  Backing Filesystem: xfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: systemd
 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: 0197261a30bf81f1ee8e6a4dd2dea0ef95d67ccb
 runc version: v1.1.3-0-g6724737
 init version: fec3683
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 3.10.0-862.el7.x86_64
 Operating System: CentOS Linux 7 (Core)
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 7.622GiB
 Name: k8s-master
 ID: IVPW:EA6H:6CKC:3HN3:7WUK:LC4G:WKBH:IRMJ:5QNN:XQZP:HB5C:PQOF
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Username: wangjinxiong
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  https://v16stybc.mirror.aliyuncs.com/
 Live Restore Enabled: false

3 docker search

docker search : 从Docker Hub查找镜像

docker search 镜像名

例如:

# docker search centos

相关视频:https://www.ixigua.com/7140605452999787021?logTag=b15eb22303e62ed604b8

4 docker pull

docker pull : 从镜像仓库中拉取或者更新指定镜像

docker pull 镜像名:版本号

例如:

docker pull centos:7

5 docker push

docker push : 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库。

docker push 仓库名称/镜像名:版本号

例如,登录公有仓库可以不带地址。

# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: wangjinxiong
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

# docker pull wangjinxiong/nginx:tools

相关视频: https://www.ixigua.com/7141005279504728607?logTag=f8f3925e38436c539e9c

6 Docker run 命令

docker run :创建一个新的容器并运行一个命令

docker run [OPTIONS] 镜像名

OPTIONS说明:

  • -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
  • -d: 后台运行容器,并返回容器ID;
  • -i: 以交互模式运行容器,通常与 -t 同时使用;
  • -P: 随机端口映射,容器内部端口随机映射到主机的端口
  • -p:指定端口映射,格式为:主机(宿主)端口:容器端口
  • -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • –name=“nginx-lb”: 为容器指定一个名称;
  • –dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
  • –dns-search example.com:指定容器DNS搜索域名,默认和宿主一致;
  • -h “mars”: 指定容器的hostname;
  • -e username=“ritchie”:设置环境变量;
  • –env-file=[]:从指定文件读入环境变量;
  • –cpuset=“0-2” or --cpuset=“0,1,2”:绑定容器到指定CPU运行;
  • -m :设置容器使用内存最大值;
  • –net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
  • –link=[]: 添加链接到另一个容器;
  • –expose=[]: 开放一个端口或一组端口;
  • –volume , -v: 绑定一个卷

例如:

docker run -d -it -p 8801:8081 -p 5000:5000 --name nexus -v /home/nexus/nexus-data:/nexus-data --restart=always sonatype/nexus3

相关视频:https://www.ixigua.com/7141175079999635975?logTag=a8b15fbfc3b8bc3da59f
https://www.ixigua.com/7140606262332523044?id=7141650019991585293&logTag=5b26a9505b76f6bd41d0

7 Docker logs

docker logs : 获取容器的日志

docker logs [OPTIONS] 容器名或者容器ID

OPTIONS说明:

  • -f : 跟踪日志输出
  • –since :显示某个开始时间的所有日志
  • -t : 显示时间戳
  • –tail :仅列出最新N条容器日志

例如:

docker logs --since "2022-09-03" 84cf465565fd

相关视频:https://www.ixigua.com/7142125502529339911?logTag=d55cafb039ee756e37fa

8 docker ps

docker ps : 列出容器

docker ps [OPTIONS]

OPTIONS说明:

  • -a :显示所有的容器,包括未运行的。
  • -f :根据条件过滤显示的内容。
  • –format :指定返回值的模板文件。
  • -l :显示最近创建的容器。
  • -n :列出最近创建的n个容器。
  • –no-trunc :不截断输出。
  • -q :静默模式,只显示容器编号。
  • -s :显示总的文件大小。

例子:
列出所有在运行的容器信息。

$ docker ps
CONTAINER ID   IMAGE          COMMAND                ...  PORTS                    NAMES
09b93464c2f7   nginx:latest   "nginx -g 'daemon off" ...  80/tcp, 443/tcp          myedu.jb51.net
96f7f14e99ab   mysql:5.6      "docker-entrypoint.sh" ...  0.0.0.0:3306->3306/tcp   mymysql

列出最近创建的5个容器信息。

$ docker ps -n 5
CONTAINER ID        IMAGE               COMMAND                   CREATED          
09b93464c2f7        nginx:latest        "nginx -g 'daemon off"    2 days ago   ...    
b8573233d675        nginx:latest        "/bin/bash"               2 days ago   ...    
b1a0703e41e7        nginx:latest        "nginx -g 'daemon off"    2 days ago   ...   
f46fb1dec520        5c6e1090e771        "/bin/sh -c 'set -x \t"   2 days ago   ...  
a63b4a5597de        860c279d2fec        "bash"                    2 days ago   ...

列出所有创建的容器ID。

$ docker ps -a -q
09b93464c2f7
b8573233d675
b1a0703e41e7
f46fb1dec520
a63b4a5597de
6a4aa42e947b
de7bb36e7968
43a432b73776
664a8ab1a585
ba52eb632bbd
...

相关视频:https://www.ixigua.com/7142332379724513800?logTag=863fd9e0fc847ee53da2

9 Docker exec

docker exec :在运行的容器中执行命令

docker exec [OPTIONS] 容器名称或者容器ID /bin/bash或者sh shell脚本(可选)

OPTIONS说明:

  • **-d: **分离模式: 在后台运行
  • **-i: **即使没有附加也保持STDIN 打开
  • **-t :**分配一个伪终端

例子:
在容器 centos7中以交互模式执行容器内 /hello.sh 脚本:

# docker exec -it centos7 /bin/bash hello.sh
hello world

在容器 mynginx 中开启一个交互模式的终端:

[root@k8s-master ~]# docker exec -it centos7 /bin/bash
[root@f180fe9ec874 /]# 

相关视频: https://www.ixigua.com/7143589639704543775?logTag=c9edb3b9108afabf13ec

10 docker cp

docker cp :用于容器与主机之间的数据拷贝。

# 从容器拷贝文件或者目录到宿主机
docker cp CONTAINER:SRC_PATH 宿主机目录
# 从宿主机拷贝文件或者目录到容器
docker cp 宿主机目录 CONTAINER:SRC_PATH 

例子:
将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。

docker cp /www/runoob 96f7f14e99ab:/www/

将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www。

docker cp /www/runoob 96f7f14e99ab:/www

将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。

docker cp  96f7f14e99ab:/www /tmp/

11 docker rmi

docker rmi : 删除本地一个或多个镜像。

docker rmi 镜像名

例子:

# docker rmi wangjinxiong/redis:tools
Untagged: wangjinxiong/redis:tools
Untagged: wangjinxiong/redis@sha256:ecdb394dacb443884e8cf05616aef26a7b81104370af3d686ba38e7470376444
Deleted: sha256:1e26be86b65f2c58f349110f0e38f0978c70ede89fdaad2b53ff21f86b6fd0c5
Deleted: sha256:5590a62fa149dcc7f7c99b3e80624e4bdcda98d0664a0fc456221e70e16e486d

12 docker rm

docker rm :删除一个或多个容器。 删除一个容器时要先停止容器。

# docker stop nginx0904 && docker rm nginx0904
nginx0904
nginx0904

13 docker tag

docker tag : 标记本地镜像,将其归入某一仓库。

docker tag 源镜像名:tag REGISTRYHOST/目标镜像名:tag

例子:

 busybox:1.28.4 wangjinxiong/busybox

14 docker images

docker images : 列出本地镜像。

docker images [OPTIONS] [REPOSITORY/镜像名:TAG]

OPTIONS说明:

  • -a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
  • *-digests :显示镜像的摘要信息;
  • -f :显示满足条件的镜像;
  • –format :指定返回值的模板文件;
  • –no-trunc :显示完整的镜像信息;
  • -q :只显示镜像ID。

例子
查看本地镜像列表。

# docker images
REPOSITORY                                                        TAG        IMAGE ID       CREATED         SIZE
wangjinxiong/nginx                                                tools      79b2d70f65d0   15 hours ago    182MB
nginx                                                             <none>     2b7d6430f78d   12 days ago     142MB
nginx                                                             latest     605c77e624dd   8 months ago    141MB

15 Docker start/stop/restart

docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器

docker start 容器名或者容器ID
docker stop 容器名或者容器ID
docker restart 容器名或者容器ID

例子:
启动已被停止的容器nginx0905

docker start nginx0905

停止运行中的容器nginx0905

docker stop nginx0905

重启容器nginx0905

docker restart nginx0905

16 docker build

docker build 命令用于使用 Dockerfile 创建镜像。

docker build [OPTIONS] PATH | URL | -

OPTIONS说明:

  • **–build-arg=[] 😗*设置镜像创建时的变量;
  • **–cpu-shares 😗*设置 cpu 使用权重;
  • **–cpu-period 😗*限制 CPU CFS周期;
  • **–cpu-quota 😗*限制 CPU CFS配额;
  • **–cpuset-cpus 😗*指定使用的CPU id;
  • **–cpuset-mems 😗*指定使用的内存 id;
  • **–disable-content-trust 😗*忽略校验,默认开启;
  • **-f 😗*指定要使用的Dockerfile路径;
  • **–force-rm 😗*设置镜像过程中删除中间容器;
  • **–isolation 😗*使用容器隔离技术;
  • **–label=[] 😗*设置镜像使用的元数据;
  • **-m 😗*设置内存最大值;
  • **–memory-swap 😗*设置Swap的最大值为内存+swap,"-1"表示不限swap;
  • **–no-cache 😗*创建镜像的过程不使用缓存;
  • **–pull 😗*尝试去更新镜像的新版本;
  • **–quiet, -q 😗*安静模式,成功后只输出镜像 ID;
  • **–rm 😗*设置镜像成功后删除中间容器;
  • **–shm-size 😗*设置/dev/shm的大小,默认值是64M;
  • **–ulimit 😗*Ulimit配置。
  • **–squash 😗*将 Dockerfile 中所有的操作压缩为一层。
  • –tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
  • –network: 默认 default。在构建期间设置RUN指令的网络模式

例子:
使用当前目录的 Dockerfile 创建镜像,标签为 wangjinxiong/nginx:tools

docker build -t wangjinxiong/nginx:tools . 

也可以通过 -f Dockerfile 文件的位置:

docker build -f /path/to/a/Dockerfile .

17 docker history

docker history : 查看指定镜像的创建历史。

docker history [OPTIONS] 镜像名

OPTIONS说明:

  • -H :以可读的格式打印镜像大小和日期,默认为true;
  • –no-trunc :显示完整的提交记录;
  • -q :仅列出提交记录ID。
# docker history calico/kube-controllers:v3.15.5
IMAGE          CREATED         CREATED BY                                      SIZE      COMMENT
bc6083995e03   16 months ago   /bin/sh -c #(nop)  ENTRYPOINT ["/usr/bin/kub…   0B        
<missing>      16 months ago   /bin/sh -c #(nop) ADD file:ef5caf8cb05bdd166…   3.14MB    
<missing>      16 months ago   /bin/sh -c #(nop) ADD file:e7ce0b4cf3402a8e1…   49.7MB    
<missing>      16 months ago   /bin/sh -c #(nop) COPY dir:ab6ac5446356fc7b8…   11.4kB    
<missing>      16 months ago   /bin/sh -c #(nop)  LABEL name=Calico Kuberne…   0B        
<missing>      16 months ago   /bin/sh -c #(nop)  ARG GIT_VERSION              0B

18 docker commit

docker commit :从容器创建一个新的镜像。

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

OPTIONS说明:

  • -a :提交的镜像作者;
  • -c :使用Dockerfile指令来创建镜像;
  • -m :提交时的说明文字;
  • -p :在commit时,将容器暂停。

将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。

docker commit -a "runoob.com" -m "my apache" a404c6c174a2  mymysql:v1 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker命令 的相关文章

随机推荐

  • Ubuntu报错,无法获取锁 E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily...

    解决方法 最后使用了最暴力的解决办法 xff0c 直接删除这个锁的文件 xff1a sudo rm var lib dpkg lock frontend sudo rm var lib dpkg lock Ubuntu报错 xff0c 无法
  • 5 个越早知道越好的 Python 特性

    https mbd baidu com newspage data landingsuper context 61 7B 22nid 22 3A 22news 9039746731433820646 22 7D amp n type 61
  • 使用if语句处理列表(python从入门到精通课后习题)

    79 80页课后习题 5 8 以特殊方式跟管理员打招呼 xff1a 创建一个至少包含 5 个用户名的列表 xff0c 且其中一 个用户名为 39 admin 39 想象你要编写代码 xff0c 在每位用户登录网站后都打印一条问候消息 遍历用
  • 拷贝来一篇鸡血,且干了这杯酒~~真香

    1 技术的提升仅是量的积累 xff0c 思想的提升才是质的飞跃 xff01 老男孩 2 智慧源于多角度视野 xff0c 能力在于有多种选择 老男孩 3 基础不牢 xff0c 地动山摇 xff01 老男孩 4 相信可能你就无限接近可能 xff
  • C++11和c++14 新特性

    https www jianshu com p b8a36ff7ac27 1 nullptr nullptr 出现的目的是为了替代 NULL 传统 C 43 43 会把 NULL 0 视为同一种东西 nullptr 关键字 xff0c 专门
  • c++11并发与多线程(第一讲)

    一 xff1a 并发 进程的基本概念 并发 xff0c 线程进程要求必须掌握 1 1 并发 两个或者更多任务 xff08 独立的活动 xff09 同时发生 xff08 进行 xff09 xff1a 一个程序同时执行多个独立的任务 以前计算机
  • c++11并发与多线程(第二讲)

    范例演示线程运行的开始和结束 程序运行起来 xff0c 生成一个进程 xff0c 该进程所属的主线程开始自动运行 xff1b 实际上是主线程执行 xff0c 主线程从mian函数开始执行 xff0c 函数返回则线程执行结束 include
  • c++11多线程编程(第三讲)

    include lt iostream gt include lt thread gt include lt string gt using namespace std 自己创建一个线程 xff0c 也需要从一个函数开始运行 xff1b v
  • Prometheus 到底 NB 在哪里?- 每天5分钟玩转 Docker 容器技术(84)

    本节讨论 Prometheus 的核心 xff0c 多维数据模型 我们先来看一个例子 比如要监控容器 span style background color rgb 216 216 216 webapp1 span 的内存使用情况 xff0
  • 解读人生的四种汉堡模型

    解读人生的四种汉堡模型 自然界给了每一个人幸福的机会 xff0c 人们都知道 xff0c 却不知如何得到它 克劳狄 年度最重要的壁球赛就要临近了 我每天的训练已经极度艰苦 xff0c 同时还要严格控制饮食 尽管我的饮食习惯已经相当健康 xf
  • 进程间通信———共享内存的原理

    这篇写的不错给出链接 https blog csdn net ljianhui article details 10253345 下图是两个进程间使用共享内存通信的示意图 xff1a 进程A和进程B在操作系统os中都有自己的虚拟内存空间 这
  • linux进程间通信-共享内存

    linux进程间通信 共享内存 一 共享内存介绍 共享内存可以从字面上去理解 xff0c 就把一片逻辑内存共享出来 xff0c 让不同的进程去访问它 xff0c 修改它 共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式
  • Linux ipcs命令与ipcrm命令的用法详解

    以下是对Linux中的ipcs命令与ipcrm命令的用法进行了介绍 xff0c 需要的朋友可以过来参考下 是linux uinx上提供关于一些进程间通信方式的信息 xff0c 包括共享内存 xff0c 消息队列 xff0c 信号 ipcs用
  • c++11多线程编程 condition_variable wait notify_one notify_all 第八讲

    1 条件变量std condition variable wait notify one notify all wait 用来等一个东西 1 如果第二个参数返回值是true xff0c 那么这一行就继续往下运行 2 如果第二个参数返回值是f
  • c++11多线程 async、future、packaged_task、promise 第九讲

    1 std async std future创建后台任务并返回 2 std packaged task 3 std promise 4 小结 一 std async std future创建后台任务并返回 希望线程返回一个结果 xff1b
  • c++11多线程 windows临界区、其他各种mutex互斥量 第十二讲

    1 windows临界区 2 多次进入临界区实验 3 自动析构技术 4 recursive mutex递归的独占互斥量 5 带超时的互斥量std timed mutex和std recursive timed mutex include l
  • python 入门 第一讲 9种数据类型

    python语言简洁 计算1 100的整数和 result 61 0 for in range 1 100 result 43 61 i print s 计算并输出n xff01 def fact n if n 61 61 1 return
  • python 入门 第二讲 读取日志文件分析

    https www bilibili com video av77410524 p 61 29 计算传感器日志文件中温度数据的平均值 日志文件包含1万条数据温度数据在文件的第3列输入 xff1a 日志文件 sensor data txt输出
  • python 入门 第三讲 读取中文分析

    统计中文词语出现的次数 以政府一号文件为例 xff0c 统计出现的中文词语数量按照一定标准输出 xff0c 如出现次数等需要解决中文分词问题 xff0c 如 xff1a 这是一门好课 gt 这是 一门 好课 输入 xff1a 2018年一号
  • docker命令

    1 docker version docker version 显示 Docker 版本信息 docker version 例如 xff1a span class token comment docker version span Clie