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:~#
- 你可以在容器运行或停止的状态下执行重命名操作。
- 执行后立即生效,无需重启容器。
重要提示和最佳实践:
- 唯一性:容器名称必须是唯一的。你不能有两个同名的容器,即使其中一个已经停止。如果尝试使用已存在的名称,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 ls | docker container ls -a |
---|---|---|
别名 | docker ps | docker 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
是你最常使用的命令之一,用于全面了解你的容器环境。