Docker 容器的基本命令

1. Docker 拉取镜像文件

拉取php镜像:https://hub.docker.com/_/php/tags

真实需求不仅仅是“怎么选标签”,而是“如何选择最合适、最稳定、且易于与现有宝塔环境集成的PHP镜像”,从而避免后续的兼容性问题或维护麻烦。深层需求可能包括:确保生产环境稳定性、方便调试、以及未来可能的多版本管理

2. 创建新容器时指定名称(最常用)

在使用 docker run 命令启动一个新容器时,使用 --name 标志来设置你想要的任何名称。

docker run --name <你的自定义名称> <其他选项> <镜像名>

3. 重命名已存在的容器

如果你已经有一个正在运行或已停止的容器(比如默认名的 sharp_carver),你可以使用 docker rename 命令来修改它的名称。

# docker ps
CONTAINER ID   IMAGE                                 COMMAND                  CREATED        STATUS        PORTS                                                                                                        NAMES
f85152d16676   opensearchproject/opensearch:latest   "./opensearch-docker…"   24 hours ago   Up 24 hours   0.0.0.0:9200->9200/tcp, [::]:9200->9200/tcp, 9300/tcp, 0.0.0.0:9600->9600/tcp, [::]:9600->9600/tcp, 9650/tcp   sharp_carver

root@lavm-od61ss3meu:~# docker rename sharp_carver opensearch3

root@lavm-od61ss3meu:~# docker ps
CONTAINER ID   IMAGE                                 COMMAND                  CREATED        STATUS        PORTS                                                                                                          NAMES
f85152d16676   opensearchproject/opensearch:latest   "./opensearch-docker…"   25 hours ago   Up 25 hours   0.0.0.0:9200->9200/tcp, [::]:9200->9200/tcp, 9300/tcp, 0.0.0.0:9600->9600/tcp, [::]:9600->9600/tcp, 9650/tcp   opensearch3
root@lavm-od61ss3meu:~# 
  1. 你可以在容器运行或停止的状态下执行重命名操作。
  2. 执行后立即生效,无需重启容器。

重要提示和最佳实践:

  • 唯一性:容器名称必须是唯一的。你不能有两个同名的容器,即使其中一个已经停止。如果尝试使用已存在的名称,Docker会报错。
  • 描述性:建议使用有描述性的名称(例如 project-database, app-backend),而不是自动生成的随机名(如 sharp_carver),这样在管理多个容器时更容易识别。
  • 在脚本中使用:在脚本或自动化工具中,通过固定的自定义名称来引用容器比使用随机的ID或名称要可靠得多。

4. 停止容器

 docker stop <containerId>

5.删除容器

docker container rm  容器名或者容器id

6. docker container ls 与 docker container ls -a 区别

好的,这是一个非常常见的Docker问题。我们来详细解释一下 docker container ls 和 docker container ls -a 的区别。

核心区别

最核心、最简单的区别是:

  • docker container ls:只显示 正在运行 的容器。
  • docker container ls -a:显示 所有状态 的容器(包括正在运行、已停止、已退出、已暂停等)。

详细解释与对比

特性docker container lsdocker container ls -a
别名docker psdocker ps -a
显示内容仅当前正在运行(Up状态) 的容器所有容器,无论其状态如何
包含的状态Up (运行中)Up (运行中), Exited (已退出), Paused (已暂停), Created (已创建)等
常用场景查看当前有哪些容器在运行,获取其端口映射、容器ID等信息。查看所有曾经创建过的容器,包括那些已经停止的,用于调试、清理或重新启动。

状态说明

当你使用 -a 参数时,你会看到容器的各种状态,最常见的是:

  • Up:容器正在运行。
  • Exited:容器已停止运行。这通常是正常退出(例如容器内主进程完成)、手动停止(docker stop)或因错误而终止。
  • Created:容器已被创建(例如通过 docker create 命令),但从未启动过。

记住这个简单的类比:

  • docker container ls 就像在电脑上打开任务管理器,只看到 正在运行的程序
  • docker container ls -a 就像查看电脑的 所有程序安装列表,不管它当前有没有在运行。

在日常使用中,docker ps -a 是你最常使用的命令之一,用于全面了解你的容器环境。

发表评论