为小白准备的重要 Docker 命令说明
创始人
2024-03-01 21:30:15
0

在早先的教程中,我们学过了在 RHEL CentOS 7 上安装 Docker 并创建 docker 容器。 在本教程中,我们会学习管理 docker 容器的其他命令。

Docker 命令语法

$ docker [option] [command] [arguments]

要列出 docker 支持的所有命令,运行

$ docker

我们会看到如下结果,

attach Attach to a running container
build  Build an image from a Dockerfile
commit  Create a new image from a container's changes
cp  Copy files/folders between a container and the local filesystem
create  Create a new container
diff  Inspect changes on a container's filesystem
events  Get real time events from the server
exec  Run a command in a running container
export  Export a container's filesystem as a tar archive
history  Show the history of an image
images  List images
import  Import the contents from a tarball to create a filesystem image
info  Display system-wide information
inspect  Return low-level information on a container or image
kill  Kill a running container
load  Load an image from a tar archive or STDIN
login  Log in to a Docker registry
logout  Log out from a Docker registry
logs  Fetch the logs of a container
network  Manage Docker networks
pause  Pause all processes within a container
port  List port mappings or a specific mapping for the CONTAINER
ps  List containers
pull  Pull an image or a repository from a registry
push  Push an image or a repository to a registry
rename  Rename a container
restart  Restart a container
rm  Remove one or more containers
rmi  Remove one or more images
run  Run a command in a new container
save  Save one or more images to a tar archive
search  Search the Docker Hub for images
start  Start one or more stopped containers
stats  Display a live stream of container(s) resource usage statistics
stop  Stop a running container
tag  Tag an image into a repository
top  Display the running processes of a container
unpause  Unpause all processes within a container
update  Update configuration of one or more containers
version  Show the Docker version information
volume  Manage Docker volumes
wait  Block until a container stops, then print its exit code

要进一步查看某个命令支持的选项,运行:

$ docker docker-subcommand info

就会列出 docker 子命令所支持的选项了。

测试与 Docker Hub 的连接

默认,所有镜像都是从 Docker Hub 中拉取下来的。我们可以从 Docker Hub 上传或下载操作系统镜像。为了检查我们是否能够正常地通过 Docker Hub 上传/下载镜像,运行

$ docker run hello-world

结果应该是:

Hello from Docker.
This message shows that your installation appears to be working correctly.
…

输出结果表示你可以访问 Docker Hub 而且也能从 Docker Hub 下载 docker 镜像。

搜索镜像

搜索容器的镜像,运行

$ docker search Ubuntu

我们应该会得到可用的 Ubuntu 镜像的列表。记住,如果你想要的是官方的镜像,请检查 official 这一列上是否为 [OK]

下载镜像

一旦搜索并找到了我们想要的镜像,我们可以运行下面语句来下载它:

$ docker pull Ubuntu

要查看所有已下载的镜像,运行:

$ docker images

运行容器

使用已下载镜像来运行容器,使用下面命令:

$ docker run -it Ubuntu

这里,使用 -it 会打开一个 shell 与容器交互。容器启动并运行后,我们就可以像普通机器那样来使用它了,我们可以在容器中执行任何命令。

显示所有的 docker 容器

要列出所有 docker 容器,运行:

$ docker ps

会输出一个容器列表,每个容器都有一个容器 id 标识。

停止 docker 容器

要停止 docker 容器,运行:

$ docker stop container-id

从容器中退出

要从容器中退出,执行:

$ exit

保存容器状态

容器运行并更改后(比如安装了 apache 服务器),我们可以保存容器状态。这会在本地系统上保存新创建镜像。

运行下面语句来提交并保存容器状态:

$ docker commit 85475ef774 repository/image_name

这里,commit 命令会保存容器状态,85475ef774,是容器的容器 id,repository,通常为 docker hub 上的用户名 (或者新加的仓库名称)image_name,是新镜像的名称。

我们还可以使用 -m-a 来添加更多信息。通过 -m,我们可以留个信息说 apache 服务器已经安装好了,而 -a 可以添加作者名称。

像这样:

 docker commit -m "apache server installed"-a "Dan Daniels" 85475ef774 daniels_dan/Cent_container

我们的教程至此就结束了,本教程讲解了一下 Docker 中的那些重要的命令,如有疑问,欢迎留言。


via: http://linuxtechlab.com/important-docker-commands-beginners/

作者:Shusain 译者:lujun9972 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

在CentOS系统中为Do...
理解Docker存储的核心机制:驱动与分层管理 在CentOS系统...
2025-06-16 07:41:58
Docker 4.42 版...
IT之家 6 月 12 日消息,科技媒体 linuxiac 昨日(...
2025-06-12 15:13:33
我的docker随笔39:...
本文介绍在容器中修改时间而不影响宿主机的系统时间。 问题提出 某容...
2025-06-01 18:45:21
【Docker】Netwo...
文章目录网络情况查看宿主机网络情况 `ifconfig&#...
2025-06-01 12:34:38
【Docker】Mysql...
文章目录安装mysql主从复制新建主服务器容器实例3307配置文件...
2025-05-31 14:48:56
关于docker mysq...
一,问题描述:         请求...
2025-05-31 01:58:31

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...