【Docker】常用命令总结

news2024/11/15 22:51:42

Docker是基于Go语言实现的云开源项目。Docker的主要目标是**“Build,Ship and Run Any App,Anywhere”**。也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次镜像,处处运行”。

在这里插入图片描述


一、帮助启动类命令

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

二、镜像命令

2.1 所有镜像

1)images

列出本地主机上的镜像

docker images [OPTIONS] [REPOSITORY[:TAG]]
Options:
  -a, --all             显示所有本地镜像(默认隐藏中间图像)
  -q, --quiet           只保留id字段

  -f, --filter filter   根据提供的条件过滤输出
      --format string   使用go模板打印
      --no-trunc        不要截断输出
      --digests         显示摘要字段
[root@VM-8-11-centos ~]# docker images -a
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    feb5d9fea6a5   14 months ago   13.3kB
[root@VM-8-11-centos ~]# docker images -q
feb5d9fea6a5

2)search

查询远程镜像

docker search [OPTIONS] TERM
Options:
      --limit int       限制查询结果的大小
      
  -f, --filter filter   根据提供的条件过滤输出
      --format string   使用go模板打印
      --no-trunc        不要截断输出
[root@VM-8-11-centos ~]# docker search --limit 5 redis
NAME                     DESCRIPTION(描述)                                STARS     OFFICIAL(官方)    AUTOMATED(自动化的)
redis                    Redis is an open source key-value store that…   11598     [OK]       
redislabs/redisinsight   RedisInsight - The GUI for Redis                72                   
redislabs/redisearch     Redis With the RedisSearch module pre-loaded…   56                   
redislabs/redis          Clustered in-memory database engine compatib…   35                   
redislabs/rebloom        A probablistic datatypes module for Redis       21                   		[OK]

3)pull

下载镜像。默认拉取最新版

docker pull [OPTIONS] NAME[:TAG|@DIGEST]
Options:
  -q, --quiet                   抑制详细输出

  -a, --all-tags                下载所有标记的图像
      --disable-content-trust   跳过镜像验证(默认为真)
      --platform string         设置平台(如果服务器支持多平台)
[root@VM-8-11-centos ~]# docker pull ubuntu
Using default tag: latest #默认拉取最新版
latest: Pulling from library/ubuntu
7b1a6ab2e44d: Pull complete 
Digest: sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest

4)system df

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

docker system df [OPTIONS]
Options:
  -v, --verbose         显示详细信息
  
      --format string   使用go模板打印
[root@VM-8-11-centos ~]# docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE(可收回的)
Images          2         1         72.79MB   72.78MB (99%)
Containers      2         0         0B        0B
Local Volumes   0         0         0B        0B
Build Cache     0         0         0B        0B

5)rmi

删除本地镜像

  • 注意:如果不是最新版镜像需要带标签

  • 删除本地全部镜像:docker rmi $(docker images -q)

docker rmi [OPTIONS] IMAGE [IMAGE...]
Options:
  -f, --force      强制移除
  
      --no-prune   不要删除未标记的父母
[root@VM-8-11-centos ~]# docker rmi mysql:5.7
Untagged: mysql:5.7
Untagged: mysql@sha256:f2ad209efe9c67104167fc609cca6973c8422939491c9345270175a300419f94
Deleted: sha256:c20987f18b130f9d144c9828df630417e2a9523148930dc3963e9d0dab302a76
Deleted: sha256:6567396b065ee734fb2dbb80c8923324a778426dfd01969f091f1ab2d52c7989
...

2.2 指定镜像

docker image COMMAND,对指定镜像进行相关操作

docker image COMMAND
Commands:
  build       通过Dockerfile文件构建镜像
  history     显示镜像的历史
  import      从tarball导入内容以创建文件系统镜像
  inspect     在一个或多个图像上显示详细信息
  load        从tar存档或STDIN加载镜像
  ls          镜像列表
  prune       移除未使用的镜像
  pull        从注册表中拉取镜像或存储库
  push        将镜像或存储库推送到注册表
  rm          移除一个或多个镜像
  save        将一个或多个镜像保存到tar归档文件中(默认情况下会传输到STDOUT)
  tag         创建一个引用SOURCE_IMAGE的标记TARGET_IMAGE

1)ls

显示镜像列表。

docker image ls 作用与 docker images 类似

docker image ls [OPTIONS] [REPOSITORY[:TAG]]
Options:
  -a, --all             显示所有镜像(默认隐藏中间镜像)
      --digests         显示摘要
      
  -f, --filter filter   根据提供的条件过滤输出。#过滤出虚悬镜像:dangling=true
      --format string   使用Go模板格式化并打印
      --no-trunc        不截断输出
  -q, --quiet           仅显示图像id

2)prune

删除未使用的镜像

docker image prune [OPTIONS]
Options:
  -a, --all             移除所有未使用的图像,而不仅仅是虚悬镜像
  --filter filter   	提供过滤值 (e.g. 'until=<timestamp>')
  -f, --force           不提示确认

三、容器命令

3.1 启动

1)💡run

新建并启动容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Options:
  -d, --detach                         在后台运行
  -i, --interactive                    保持标准的输入连接
  -t, --tty                            分配一个伪终端
      --network network                设置容器网络模式
  -p, --publish list                   小写p,指定端口映射
  -P, --publish-all                    大写P,随机端口映射
  -v, --volume list                    绑定数据卷。rw:容器实例读写权限、ro:容器实例只读权限
      --privileged                     授予此容器扩展权限
      --name string                    指定名称

  -e, --env list                       设置环境变量(mysql密码)
      --restart string                 是否随docker的重启而重启(默认"no")
[root@VM-8-11-centos ~]# docker run -it --name ubuntu01 ubuntu
root@be76900a888a:/# 

[root@VM-8-11-centos ~]# docker run -d -p 5000:5000 -v /zzyyuse/myregistry/:/tmp/registry:rw --privileged=true registry
36a0e2fb143fd63246ec7d3478cc2691b6ccafee114574100dfef14a3857d2b1

交互式(-it)和守护式(-d)

很重要的要说明的一点: Docker容器后台运行,部分容器 需要有一个前台进程与之交互

容器运行时如果没有那些一直挂起的命令(比如运行top,tail),就是会自动退出的。

所以,最佳的解决方案是,将你要运行的程序以前台进程的形式运行,常见就是命令行模式,表示我还有交互操作,别中断,O(∩_∩)O哈哈~

2)ps

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

docker ps [OPTIONS]
Options:
  -l, --latest          显示最新创建的容器(包括所有状态)
  -n, --last int        显示n个最近创建的容器(包括所有状态)
  -a, --all             显示所有容器
  -q, --quiet           只保留id字段
  
  -s, --size            显示总文件大小
  -f, --filter filter   根据提供的条件过滤输出
      --format string   使用go模板打印
      --no-trunc        不要截断输出
[root@VM-8-11-centos ~]# docker ps -a
CONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS                        PORTS      NAMES
be76900a888a   ubuntu        "bash"                   6 minutes ago    Up 6 minutes                             ubuntu01
c9316fabbee6   redis:6.0.8   "docker-entrypoint.s…"   8 minutes ago    Up 8 minutes                  6379/tcp   nice_clarke
94b38aee90c2   ubuntu        "bash"                   10 minutes ago   Exited (0) 10 minutes ago                wizardly_kare
0138ad656012   ubuntu        "bash"                   10 minutes ago   Exited (0) 10 minutes ago                amazing_hertz
f3e6e504362b   hello-world   "/hello"                 5 hours ago      Exited (0) 5 hours ago                   competent_wu

3)退出容器

  • exit:退出,容器停止
  • ctrl+p+q:退出,容器不停止

4)start

启动已停止运行的容器

  • 对运行中的容器无影响,可以使用 -i 参数重新进入容器
docker start [OPTIONS] CONTAINER [CONTAINER...]
Options:
  -i, --interactive          附加标准的输入连接
  -a, --attach               附加STDOUT/STDERR和转发信号
  
      --detach-keys string   覆盖分离容器的键序列
[root@VM-8-11-centos ~]# docker start -i 62ceff1dabae
root@62ceff1dabae:/# 

5)restart

重启(运行中/已停止)容器

docker restart [OPTIONS] CONTAINER [CONTAINER...]
Options:
  -t, --time int   超时时间
[root@VM-8-11-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@VM-8-11-centos ~]# docker restart -t 30 c4f34b85a8d7
c4f34b85a8d7
[root@VM-8-11-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS        PORTS      NAMES
c4f34b85a8d7   redis     "docker-entrypoint.s…"   16 minutes ago   Up 1 second   6379/tcp   festive_hodgkin

3.2 停止删除

1)stop

停止容器

docker stop [OPTIONS] CONTAINER [CONTAINER...]
Options:
  -t, --time int   超时时间
[root@VM-8-11-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS         PORTS      NAMES
c4f34b85a8d7   redis     "docker-entrypoint.s…"   15 minutes ago   Up 2 seconds   6379/tcp   festive_hodgkin
[root@VM-8-11-centos ~]# docker stop -t 30 c4f34b85a8d7
c4f34b85a8d7
[root@VM-8-11-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

2)kill

强制停止容器

docker kill [OPTIONS] CONTAINER [CONTAINER...]
Options:
  -s, --signal string   发送到容器的信号(默认为“KILL”)
[root@VM-8-11-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS         PORTS      NAMES
c4f34b85a8d7   redis     "docker-entrypoint.s…"   13 minutes ago   Up 3 seconds   6379/tcp   festive_hodgkin
[root@VM-8-11-centos ~]# docker kill c4f34b85a8d7
c4f34b85a8d7
[root@VM-8-11-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

3)rm

删除已停止的容器

  • 删除所有已停止容器:docker rm $(docker ps -aq)、docker ps -aq | xargs docker rm
docker rm [OPTIONS] CONTAINER [CONTAINER...]
Options:
  -f, --force     强制删除运行中的容器

  -l, --link      移除指定的链接
  -v, --volumes   删除与容器关联的匿名卷
[root@VM-8-11-centos ~]# docker ps -a
CONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS                            PORTS     NAMES
be76900a888a   ubuntu        "bash"                   38 minutes ago   Exited (127) About a minute ago             ubuntu01
62ceff1dabae   ubuntu        "bash"                   39 minutes ago   Exited (0) 20 minutes ago                   ubuntu02
[root@VM-8-11-centos ~]# docker rm $(docker ps -aq)
be76900a888a
62ceff1dabae
[root@VM-8-11-centos ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

3.3 进入

一般用-d后台启动的程序,再用exec进入对应容器实例

1)exec

进入正在运行的容器并 重新启动命令行窗口 进行交互(推荐使用)

  • -it:在此命令中一起使用才有意义
  • 注意:使用 exit 退出时,不会导致容器停止
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
Options:
  -i, --interactive          即使没有连接,也保持STDIN打开
  -t, --tty                  分配一个伪TTY

  -d, --detach               分离模式:在后台运行命令
  -u, --user string          用户名或UID(格式:<名称|uid>[:<|gid>])
      --detach-keys string   覆盖分离容器的键序列
  -e, --env list             设置环境变量
      --env-file list        读入环境变量文件
      --privileged           授予命令扩展权限
  -w, --workdir string       容器内的工作目录
[root@VM-8-11-centos lib]# docker ps 
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES
bbb50338eac5   ubuntu    "bash"                   23 minutes ago   Up 23 minutes             distracted_wu
[root@VM-8-11-centos lib]# docker exec -it bbb50338eac5 /bin/bash
root@bbb50338eac5:/# exit
exit
[root@VM-8-11-centos lib]# docker ps 
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES
bbb50338eac5   ubuntu    "bash"                   25 minutes ago   Up 25 minutes             distracted_wu

2)attach

直接进入容器启动命令的终端,不会启动新的进程 用

  • 注意:使用 exit 退出时,导致容器停止
docker attach [OPTIONS] CONTAINER
Options:

      --detach-keys string   覆盖分离容器的键序列
      --no-stdin             不要附加标准输入
      --sig-proxy            将所有收到的信号代理到进程(默认为真)
[root@VM-8-11-centos lib]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED             STATUS             PORTS     NAMES
bbb50338eac5   ubuntu    "bash"                   39 minutes ago      Up 39 minutes                distracted_wu
[root@VM-8-11-centos lib]# docker attach bbb50338eac5
root@bbb50338eac5:/# exit
exit
[root@VM-8-11-centos lib]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED             STATUS             PORTS     NAMES

1.3.3.4 查看

1)logs

查看容器日志

docker logs [OPTIONS] CONTAINER
Options:
  -n, --tail string    显示后几行
  -f, --follow         跟踪日志输出
      --since string   显示自时间戳(例如2013-01-02T13:23:37Z)或相对时间(例如42分钟42秒)以来的日志
      --until string   显示时间戳(例如2013-01-02T13:23:37Z)或相对时间戳(例如42分钟42米)之前的日志
  
      --details        显示提供给日志的额外详细信息
  -t, --timestamps     显示时间戳
[root@VM-8-11-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS     NAMES
74b7ee3d0fb0   nginx     "/docker-entrypoint.…"   2 minutes ago   Up 2 minutes   80/tcp    pensive_noyce
[root@VM-8-11-centos ~]# docker logs 74b7ee3d0fb0
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
...

2)top

查看容器内运行的进程

docker top CONTAINER [ps OPTIONS]

在这里插入图片描述

3)inspect

查看容器详细信息

docker inspect [OPTIONS] NAME|ID [NAME|ID...]
Options:
  -f, --format string   使用go模板打印
  -s, --size            如果类型为容器,则显示总文件大小
      --type string     返回指定类型的JSON
[root@VM-8-11-centos ~]# docker inspect 74b7ee3d0fb0
[
    {
        "Id": "74b7ee3d0fb077b70f557da7474274708bbbbad2933d3b0ba7662f6f6669ed9b",
        "Created": "2022-11-25T12:06:02.570477034Z",
        "Path": "/docker-entrypoint.sh",
        "Args": ...,
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            ...
            "StartedAt": "2022-11-25T12:06:02.791257558Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:605c77e624ddb75e6110f997c58876baa13f8754486b461117934b24a9dc3a85",
        "ResolvConfPath": "/var/lib/docker/containers/74b7ee3d0.../resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/74b7ee3d0fb077b70f557da7.../hostname",
        "HostsPath": "/var/lib/docker/containers/74b7ee3d0fb077b70f.../hosts",
        "LogPath": "/var/lib/docker/containers/74b7ee3d0fb077b70f557da.../74b7ee3d0fb077b70f5...-json.log",
        ...
        "HostConfig": {
            ...
            "NetworkMode": "default",
            ...
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            ...
        "GraphDriver": {
            "Data": {
                "LowerDir": ...,
                "MergedDir": ...,
                "UpperDir":...,
                "WorkDir": ...
            },
            "Name": "overlay2"
        },
        "Mounts": [],
        "Config": {
            "Hostname": "74b7ee3d0fb0",
            "Domainname": "",
            "User": "",
            ...
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "7d00e92b4bbd5c1595f2ed52f1b5159bb23d2320617f4960bee2da7c38cf2693",
            ...
            "Networks": {
                "bridge": {
                    ...
                    "NetworkID": "4775de594dcde3d4c1a966ee1605862a89cae99eb72347db3e64608d9d6b3b47",
                    "EndpointID": "03c4edb53ff62f07c6aeca5c915b0f713fb4ad2759953cce2dfcdfda7e0adb30",
                    "Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.2",
                    ...
                }
            }
        }
    }
]

4)cp

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

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-:使用'-'作为从stdin中读取tar归档文件的源并将其提取到容器中的目录目的地。
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH:使用“-”作为目的地,以流式传输标准输出的容器源。
Options:
  -a, --archive       存档模式(复制所有uid/gid信息)
  -L, --follow-link   总是跟随SRC_PATH中的符号链接
[root@VM-8-11-centos lib]# docker exec -it b0a1301d9ae6 /bin/bash
root@b0a1301d9ae6:/# cd /test
root@b0a1301d9ae6:/test# ll
total 8
...
-rw-r--r-- 1 root root    0 Nov 25 13:23 abc.txt
[root@VM-8-11-centos lib]# docker cp b0a1301d9ae6:/test/abc.txt /
[root@VM-8-11-centos /]# ll
total 72
-rw-r--r--    1 root root     0 Nov 25 21:23 abc.txt
...

四、维护命令

1)export

导出容器 作为一个tar归档文件。归档文件可以导入为镜像文件

docker export [OPTIONS] CONTAINER > fileName
Options:
  -o, --output string   写入文件,而不是标准输出
[root@VM-8-11-centos /]# docker export b0a1301d9ae6 >abcd.tar
[root@VM-8-11-centos /]# ll
total 73472
-rw-r--r--    1 root root 75159552 Nov 25 21:39 abcd.tar

2)import

从tar包中的内容创建一个新的文件系统再 导入为镜像

docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
Options:
  -c, --change list       对创建的镜像应用Dockerfile指令
  -m, --message string    为导入的镜像设置提交消息
      --platform string   设置平台,如果服务器支持多平台
[root@VM-8-11-centos /]# ll
total 73472
-rw-r--r--    1 root root 75159552 Nov 25 21:39 abcd.tar
[root@VM-8-11-centos /]# docker import abcd.tar abcd/ubuntu:2.1
sha256:86fc53decf9085355f2ba11950a0f2b7d93e3d51fbcc709ead3b19bc8bbad705
[root@VM-8-11-centos /]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
abcd/ubuntu   2.1       86fc53decf90   6 seconds ago   72.8MB
...
[root@VM-8-11-centos /]# docker run -it abcd/ubuntu:2.1 /bin/bash
root@890978529f83:/# cd /test
root@890978529f83:/test# ll
total 8
...
-rw-r--r-- 1 root root    0 Nov 25 13:23 abc.txt

3)commit

提交容器副本使之成为一个新的镜像

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
Options:
  -a, --author string    作者 (e.g., "John Hannibal Smith <hannibal@a-team.com>")
  -m, --message string   注释信息
  -p, --pause            提交期间暂停容器(默认为真)

  -c, --change list      对创建的图像应用Dockerfile指令
[root@VM-8-11-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED         STATUS         PORTS     NAMES
ae04d5c9c832   ubuntu    "bash"    2 minutes ago   Up 2 minutes             heuristic_galileo
[root@VM-8-11-centos ~]# docker commit -m "add vim ok" -a "lzw" ae04d5c9c832 vim/ubuntu:2.0
sha256:7b84295ae8a4bac0d98e5662188f2b6ee1e3b0c5c139a5aee6370fe7226269e1
[root@VM-8-11-centos ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
vim/ubuntu   2.0       7b84295ae8a4   5 seconds ago   180MB
...

4)tag

重命名镜像标签

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
[root@VM-8-11-centos ~]# docker images
REPOSITORY                                TAG       IMAGE ID       CREATED          SIZE
[root@VM-8-11-centos ~]# docker tag ifconfig/ubuntu:2.1 10.0.8.11:5000/ifconfig/ubuntu:1.2
[root@VM-8-11-centos ~]# docker images
REPOSITORY                                TAG       IMAGE ID       CREATED          SIZE
10.0.8.11:5000/ifconfig/ubuntu            1.2       30bc8d49a9fb   28 minutes ago   114MB
...

5)push

docker push [OPTIONS] NAME[:TAG]
Options:
  -a, --all-tags                推送存储库中的所有标记图像
  -q, --quiet                   抑制详细输出

      --disable-content-trust   跳过图像签名(默认为真)
[root@VM-8-11-centos ~]# docker push 10.0.8.11:5000/ifconfig/ubuntu:1.2
The push refers to repository [10.0.8.11:5000/ifconfig/ubuntu]
2ca6189daa77: Pushed 
9f54eef41275: Pushed 
1.2: digest: sha256:33a697832ac04aa030a3a0c1c7210d9da59fc071bd6600468d295bc77a456b72 size: 741
[root@VM-8-11-centos ~]# curl -XGET http://10.0.8.11:5000/v2/_catalog
{"repositories":["ifconfig/ubuntu"]}

6)build

使用Dockerfile构建镜像

docker build [OPTIONS] PATH | URL | -
Options:
  -t, --tag list                “名称:标签”格式的名称和可选标签
  
      --target string           将目标生成阶段设置为生成
      --ulimit ulimit           Ulimit选项(默认[])
[root@VM-8-11-centos mydocker]# docker build -t lzw_docker:1.6 .
Send build context to Docker daemon  6.144kB
...

7)stats

查看容器的统计状态:CPU、内存…

docker stats [OPTIONS] [CONTAINER...]
Options:
  -a, --all             包含所有容器(默认只包含运行中的)
      --format string   使用go模板打印
      --no-stream       禁用流式统计,只提取第一个结果
      --no-trunc        不要截断输出

在这里插入图片描述

五、网络命令

docker network COMMAND
Commands:
  connect     将容器连接到网络
  create      创建网络
  disconnect  断开容器与网络的连接
  inspect     显示一个或多个网络的详细信息
  ls          显示网络列表
  prune       删除所有未使用的网络
  rm          删除一个或多个网络

在这里插入图片描述

六、Compose 命令

docker-compose -h                      # 查看帮助
docker-compose up                      # 启动所有docker-compose服务
docker-compose up -d                   # 启动所有docker-compose服务并后台运行
docker-compose down                    # 停止并删除容器、网络、卷、镜像。
docker-compose exec  yml里面的服务id     # 进入容器实例内部  docker-compose exec docker-compose.yml文件中写的服务id /bin/bash
docker-compose ps                      # 展示当前docker-compose编排过的运行的所有容器
docker-compose top                     # 展示当前docker-compose编排过的容器进程
 
docker-compose logs  yml里面的服务id     # 查看容器输出日志
docker-compose config     			   # 检查配置
docker-compose config -q  			   # 检查配置,有问题才有输出
docker-compose restart   			   # 重启服务
docker-compose start     			   # 启动服务
docker-compose stop      			   # 停止服务

七、总结

命令描述
images列出系统当前镜像
search在 docker hub 中搜索镜像
pull从docker镜像源服务器拉取指定镜像或者库镜像
rmi移除一个或多个镜像[无容器使用该镜像才可删除,否则需删除相关容器才可继续或 -f 强制删除]
run创建一个新的容器并运行一个命令
ps列出容器列表
start启动容器
restart重启运行的容器
stop停止容器
killkill 指定 docker 容器
exec在已存在的容器上运行命令
attach当前 shell 下 attach 连接指定运行镜像
logs输出当前容器日志信息
top查看容器中运行的进程信息
inspect查看容器详细信息
cp从容器中拷贝指定文件或者目录到宿主机中
export导出容器的内容流作为一个 tar 归档文件[对应 import ]
import从tar包中的内容创建一个新的文件系统映像[对应export]
build通过 Dockerfile 定制镜像
commit提交当前容器为新的镜像
create创建一个新的容器,同 run,但不启动容器
diff查看 docker 容器变化
events从 docker 服务获取容器实时事件
history展示一个镜像形成历史
info显示系统相关信息
load从一个 tar 包中加载一个镜像[对应 save]
login注册或者登陆一个 docker 源服务器
logout从当前 Docker registry 退出
port查看映射端口对应的容器内部源端口
pause暂停容器
push推送指定镜像或者库镜像至docker源服务器
save保存一个镜像为一个 tar 包[对应 load]
tag给源中镜像打标签
unpause取消暂停容器
version查看 docker 版本号
wait截取容器停止时的退出状态值

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/56013.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

容器开发运维人员的 Linux 操作机配置优化建议

"工欲善其事必先利其器", 作为一个PAAS平台架构师, 容器相关技术(docker, k8s等)是必不可少的. 本文简单介绍下我自己的Linux操作机配置. 提升工作效率, 提高使用体验. :heart::heart::heart: :exclamation: 注意: 本文以CentOS 7.6 为例, RHEL7.6 操作类似. Ubuntu系…

为什么简历上不要轻易写“精通分布式”,一线大厂为什么面试必问分布式?

为什么要学习分布式&#xff1f; 作为一名后端 Java 程序员&#xff0c;我们在找工作写简历的时候除了高并发经验。一般情况下都还会写上自己熟悉/了解/掌握/精通分布式系统&#xff0c;所以高并发和分布式大多是成对出现的。 在某直聘网站上搜到的 Java 岗位 这么多金的一个知…

Shiro-SpringBoot (二)

在上一节中实现了在SpringBoot中使用Shiro做权限控制&#xff0c;但是针对上一节留下的不足点&#xff0c;在这里进行一下优化和改造&#xff0c;主要有一下几点: 支持AJAX请求支持FreeMarker模板URL拦截提取到yml配置文件 (一) 支持AJAX请求 如果是AJAX请求URL接口&#xff0…

软件外包公司真的去不得吗?

各位小伙伴们&#xff01;好&#xff01;啊&#xff01;最近全国大部分地区都降温了&#xff0c;大家记得做好保暖&#xff0c;不要生病。 无论是应届毕业生&#xff0c;还是准备跳槽的测试人&#xff0c;都有面对“软件外包”公司的可能。有些人说进入外包公司就相当于给履历…

电子招标采购商城系统:优化传统采购业务,提速企业数字化升级

后疫情时代&#xff0c;电子元器件供应链发生了巨大的变化&#xff0c;缺货已经影响了大多数企业&#xff0c;电子元器件采购人员每天被“缺货”“涨价”的字眼包围着&#xff0c;对电子元器件企业的发展带来了极大的限制。当前&#xff0c;借助数字化技术对电子元器件采购管理…

[附源码]计算机毕业设计在线票务系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

云服务器和本地服务器的优缺点分析

服务器是企业IT基础设施的命脉&#xff0c;可用于存放文件、应用程序、网站、员工远程访问等等。当然&#xff0c;选择时有许多不同类型的服务器和许多需要考虑的因素。目前比较流行的两种服务器类型是本地服务器和基于云的服务器。 本地服务器 本地服务器放置在公司的办公室中…

VS2022开发Arduino(90%转载10%原创)

先上转载链接 VS2022开发Arduino&#xff08;提供Visual.Micro.Processing.Sketch.dll&#xff09;_hb2cpc的博客-CSDN博客_vs开发arduino Visual Studio 2022开发Arduino详述_liht_1634的博客-CSDN博客_visualstudio arduino 其中破解部分编译出错&#xff0c;此处为原创&am…

RabbitMQ面试篇

文章目录1 你们为什么选择了RabbitMQ而不是其它的MQ&#xff1f;2 RabbitMQ如何确保消息的不丢失&#xff1f;3 RabbitMQ如何避免消息堆积&#xff1f;4 RabbitMQ如何保证消息的有序性&#xff1f;5 如何防止MQ消息被重复消费&#xff1f;6 如何保证RabbitMQ的高可用&#xff1…

计算机体系结构:分支目标缓冲(BTB)例题

题目内容 按照下表计算分支转移总的延迟&#xff0c;根据下面的假设&#xff0c;计算分支目标缓冲的性能。 (1)对于BTB中的指令&#xff0c;预测准确率90%。 (2)缓冲区命令率90%。 (3)不在BTB中分支转移成功的比例为60%。 题目分析 总共有四种情况&#xff1a; ①在BTB中且预…

DSP篇--C6678功能调试系列之网络调试

目录 网络调试 1、GE工程的研究与功能扩充 网络调试 网口测试&#xff0c;使用的是TI官方提供的GE网络测试例程。 主要注意的事项是&#xff1a;时钟的设置、相关设备的MAC地址和IP的设置、中断的设置。确定板子的port和phy。 GbE Switch Subsystem Initialization Procedure…

[附源码]Python计算机毕业设计Django计算机相关专业考研资料管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

bash调试方法总结

在看nginx源码实现时发现有些代码是根据不同的本地环境动态生成的&#xff0c;看了一下大致生成流程&#xff0c;基本上都是通过shell脚本调用shell脚本实现的。看到了shell脚本&#xff0c;就想到如何调试shell脚本&#xff0c;shell脚本在实际工作中运用的挺多的&#xff0c;…

几何向量:向量到平面投影和LookAt

在研究所保密开发完后回来隔离两波&#xff0c;已经接近四五个月没碰外网电脑了&#xff0c;可以说是活成了原始人。 因为某些开发细节原因&#xff0c;需要实现向量投影和LookAt功能&#xff0c;记录一下。 首先实现向量到平面投影&#xff0c;如下&#xff1a; …

第二证券|鲍威尔发声:释放重磅信号,美股大涨!中概股狂涨

大家早上好&#xff01;昨夜今晨又有许多大事产生&#xff1a;美联储主席鲍威尔证明&#xff0c;12月开端或许放缓加息&#xff1b;微软涨逾1100亿美元&#xff0c;美股进入技能型牛市&#xff1b;小鹏轿车昨日暴升近50%&#xff0c;中概股11月涨逾40%&#xff1b;法、德不满美…

java计算机毕业设计ssm企业日常事务管理系统sl5xl(附源码、数据库)

java计算机毕业设计ssm企业日常事务管理系统sl5xl&#xff08;附源码、数据库&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#…

全栈性能测试教程之性能测试相关知识(二) Jmeter的应用

性能测试相关知识&#xff08;二&#xff09; Jmeter的应 1、性能测试的方法 1.1验收负载测试&#xff1a; 在QA的环境模拟生产运行的业务压力和使用场景组合&#xff0c;测试系统的性能是否满足生产环境的性能诉求。 1.2负载测试 在被测系统上持续不断的增加压力&#xff…

易点易动RFID固定资产管理系统助力企业年终固定资产大盘点

固定资产作为资产构成的重要组成部分&#xff0c;也是企业完成生产经营的物质保障&#xff0c;对企业的发展起着重要的作用。越来越多的企业者开始重视企业内部的固定资产管理&#xff0c;从而会定期对固定资产进行盘点&#xff0c;以保证固定资产账实一致、账账相符。每逢年底…

粒子群算法和鲸鱼算法的比较(Matlab代码实现)

目录 1 粒子群优化算法 2 鲸鱼优化算法 3 粒子群算法和鲸鱼算法比较 4 Matlab代码实现 1 粒子群优化算法 粒子群优化算法(PSO&#xff1a;Particle swarm optimization) 是一种进化计算技术&#xff08;evolutionary computation&#xff09;。源于对鸟群捕食的行为研究…

GitHub限时开源36小时的阿里Java架构师学习手册,上线即标星35k+

前言 今年受大环境影响面试于往年相比难得多&#xff0c;对程序员要求越来越高&#xff01;环境我们无法改变能改变的就是自己&#xff0c;努力提升技术&#xff01; 我在GitHub无意见看见115k的Java教程&#xff0c;感觉还不错&#xff0c;给大家看看&#xff01;文档总共分为…