Docker简介
Docker是个开源平台,用于构建、部署和运行容器中的应用程序,使开发人员能够创建独立、轻量级的容器,包含应用程序所需的所有内容。通过使用Docker,开发人员可以在不同环境中以一致的方式运行应用程序,提高开发和部署的效率和可靠性。
1 docker run命令
docker run命令是Docker中用于启动一个新的容器的命令,是使用Docker镜像创建和运行容器的主要方式。
以下是使用docker run命令启动新容器并通过命令行与其进行交互的示例:
1) 首先,打开终端并输入以下命令以启动新容器:
docker run -it --name mycontainer ubuntu
这个命令会基于ubuntu镜像启动一个新容器,并给它一个名称(mycontainer)。-it选项将终端连接到容器的标准输入和输出,以便您可以通过命令行与其进行交互。
2) 容器运行后,进入容器内部的shell提示符。可以像在常规终端中一样键入命令,例如,可以输入ls命令来列出当前目录的内容:
ls
3) 还可以在容器内安装新软件或运行其他命令。例如,可以更新软件包索引并安装curl软件包:
apt-get update
apt-get install curl
4) 在容器中完成工作后,可以通过输入exit或按下CTRL-D来退出容器。这将使终端与容器分离,并停止其运行。可以随时通过键入docker start mycontainer来重新启动容器,并使用docker attach mycontainer附加到它。
2 docker inspect命令
docker inspect命令用于获取有关容器、镜像、网络、卷等详细信息;它返回JSON格式的结果,包含有关指定对象的各种属性和配置信息,可以使用工具(如jq)或编程语言(如Python)来解析和处理这些信息。
以下是使用docker inspect命令查看容器或镜像详细信息的示例:
1) 首先,打开终端并运行以下命令以列出所有正在运行的容器:
docker ps
这将显示您系统上所有正在运行的容器的列表,以及它们的ID。
2) 选择要检查的容器或镜像的ID,并运行以下命令:
docker inspect <container_or_image_id>
3) 将<container_or_image_id>替换为要检查的容器或镜像的实际ID。例如,如果容器的ID是abcd1234,将运行以下命令:
docker inspect abcd1234
4) docker inspect命令将输出一个包含有关容器或镜像详细信息的JSON文档。这些信息包括容器的配置、网络设置和资源使用情况,以及镜像的元数据和历史记录。
5) 可以使用docker inspect的输出来排除故障、了解容器或镜像的配置,甚至根据容器或镜像的元数据自动执行任务。
3 docker port命令
docker port命令是用于查看容器端口映射情况的命令,允许查看容器内部端口与宿主机上映射的端口之间的对应关系。
以下是使用docker port命令列出容器端口映射的示例:
1) 首先,打开终端并运行以下命令以列出所有正在运行的容器:
docker ps
这将显示您系统上所有正在运行的容器的列表,以及它们的ID。
2) 选择要列出端口映射的容器的ID,并运行以下命令:
docker port <container_id>
3) 将<container_id>替换为要列出端口映射的容器的实际ID。例如,如果容器的ID是abcd1234,将运行以下命令:
docker port abcd1234
4) docker port命令将输出容器的端口映射列表。每个映射包括容器的内部端口号和主机系统上相应的端口号。
5) 可以使用此信息从容器外部访问运行在容器内部的服务。例如,如果容器在端口80上运行Web服务器,并且docker port命令显示端口80映射到主机系统上的端口8080,可以通过在Web浏览器中导航至http://localhost:8080来访问Web服务器。
4 docker stats命令
docker stats命令是用于实时监视运行中容器资源使用情况的。它提供了一个类似于系统监视器的界面,显示了各个容器的CPU使用率、内存占用、网络流量等信息。
以下是使用docker stats命令查看一个或多个容器的资源使用统计信息的示例:
1) 首先,打开终端并运行以下命令以列出所有正在运行的容器:
docker ps
这将显示您系统上所有正在运行的容器的列表,以及它们的ID。
2) 选择要查看资源使用统计信息的容器或容器的ID,并运行以下命令:
docker stats <container_id>
3) 将<container_id>替换为要查看资源使用统计信息的容器的实际ID。例如,如果容器的ID是abcd1234,将运行以下命令:
docker stats abcd1234
4) 还可以指定多个容器ID,以一次查看所有容器的资源使用统计信息。例如:
docker stats abcd1234 efgh5678
5) docker stats命令将持续输出指定容器或容器的资源使用统计信息。统计信息包括CPU使用率、内存使用率、网络I/O和块I/O等内容。
6) 可以使用此信息来监视容器的性能和资源使用情况,并排除与资源利用相关的问题。
5 docker top命令
docker top命令用于查看容器内部运行的进程列表。它类似于Unix中的top命令,可以显示容器中正在运行的进程以及与之相关的详细信息。
以下是使用docker top命令查看容器内部运行的进程的示例:
1)首先,打开终端并运行以下命令以列出所有正在运行的容器:
docker ps
这将显示您系统上所有正在运行的容器的列表,以及它们的ID。
2) 选择要查看其进程的容器的ID,并运行以下命令:
docker top <container_id>
3) 将<container_id>替换为要查看其进程的容器的实际ID。例如,如果容器的ID是abcd1234,将运行以下命令:
docker top abcd1234
4) docker top命令将输出一个包含容器内部运行的进程列表的结果,同时提供有关它们资源利用情况的信息,如CPU和内存使用情况。
5) 可以使用此信息来排除与容器内部进程相关的问题,或了解容器的运行情况以及哪些进程使用了最多的资源。
6 docker save命令
docker save命令是Docker中用于将镜像保存为压缩的存档文件的命令,允许将一个或多个Docker镜像打包成一个可导入到其他Docker环境中的单个文件。
以下是使用docker save命令将镜像保存为tar存档的示例:
1)首先,打开终端并运行以下命令以列出系统上所有可用的镜像:
docker images
这将显示系统上所有可用的镜像列表,包括它们的仓库、标签和大小。
2) 选择要保存为tar存档的镜像,并运行以下命令:
docker save -o <output_file_name>.tar <image_name>
3) 将<output_file_name>替换为要为tar存档文件指定的名称,将<image_name>替换为要保存的镜像的名称。例如,如果要将名为myimage:latest的镜像保存为名为myimage_latest.tar的tar存档,将运行以下命令:
docker save -o myimage_latest.tar myimage:latest
4)docker save命令将在当前目录中创建指定镜像的tar存档。
5) 随后可以使用此tar存档将镜像移动到其他系统,或者为了备份目的而存储。
7 docker load命令
docker load命令用于加载从docker save命令导出的镜像存档文件的命令,允许将以先前导出的格式保存的镜像存档文件导入到本地的Docker环境中。
以下是使用docker load命令从tar存档中加载镜像的示例:
1)首先,打开终端并导航到包含镜像的tar存档的目录。
2)运行以下命令从tar存档中加载镜像:
docker load -i <archive_file_name>.tar
3) 将<archive_file_name>替换为包含镜像的tar存档文件的名称。
4) 例如,如果tar存档文件名为myimage_latest.tar,将运行以下命令:
docker load -i myimage_latest.tar
5) docker load命令将从tar存档中导入镜像,并在您的系统上创建一个新的镜像。
6) 可以通过运行以下命令验证已导入镜像:
docker images
这将显示系统上所有可用的镜像列表,包括新导入的镜像。