📜  使用 CLI 管理 Docker 容器的技巧(1)

📅  最后修改于: 2023-12-03 14:49:37.961000             🧑  作者: Mango

使用 CLI 管理 Docker 容器的技巧

Docker 是一个强大的容器化平台,它使得构建、分发和运行应用程序变得更加容易。Docker 也提供了许多工具来管理容器,其中之一就是命令行界面 (CLI)。本文将介绍如何使用 CLI 管理 Docker 容器的一些技巧。

1. 显示 Docker 容器

要显示容器的列表,可以使用 docker container ls 命令。这将列出当前正在运行的所有容器,包括它们的 ID、名称、状态等信息。如果要显示所有容器(包括停止的容器),可以使用 docker container ls -a 命令。

示例代码:

$ docker container ls 
CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS     NAMES
35b851bb833b   nginx          "/docker-entrypoint.…"   3 days ago      Up 13 hours    80/tcp    inspiring_galileo
4a6d3b962efc   hello-world    "/hello"                 2 weeks ago     Up 2 weeks              brave_brahmagupta
2. 启动和停止 Docker 容器

要启动 Docker 容器,可以使用 docker container start 命令,后跟容器的名称或 ID。同样,要停止容器,可以使用 docker container stop 命令,后跟容器的名称或 ID。

示例代码:

$ docker container start inspiring_galileo 
inspiring_galileo

$ docker container stop inspiring_galileo 
inspiring_galileo
3. 进入 Docker 容器

有时候需要进入容器的命令行界面来执行一些操作。可以使用 docker container exec -it 命令来进入容器。其中 -it 选项表示交互式和终端,这意味着我们可以与容器交互并执行命令。

示例代码:

$ docker container exec -it inspiring_galileo bash
root@35b851bb833b:/# 
4. 查看 Docker 容器日志

Docker 容器会记录所有与其相关的操作,它们的日志可以帮助我们监控容器的状态并查找问题。要查看容器的日志,可以使用 docker container logs 命令。该命令还支持 -f 选项来实时查看容器日志。

示例代码:

$ docker container logs inspiring_galileo
127.0.0.1 - - [28/Aug/2021:23:05:08 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0" "-"
5. 导出和导入 Docker 容器

有时候,需要将容器复制到另一台计算机或迁移到另一个环境时,可以使用 docker container export 命令将容器导出为 tar 文件,然后使用 docker container import 命令将其导入。

示例代码:

$ docker container export inspiring_galileo > inspiring_galileo.tar 
$ docker container import inspiring_galileo.tar myimage:latest
6. 删除 Docker 容器

当不再需要使用容器时,应该删除它。可以使用 docker container rm 命令删除容器。要删除所有容器,可以使用 docker container rm -f $(docker container ls -aq) 命令。

示例代码:

$ docker container rm inspiring_galileo 
inspiring_galileo

以上是使用 CLI 管理 Docker 容器的一些技巧。使用这些技巧可以方便地管理 Docker 容器并提高开发效率。