Docker常用命令详解

Docker常用命令详解
怀光1. docker run
- 启动容器
docker run
是 Docker 中最常用的命令之一,用于启动一个新的容器并运行镜像。其基本格式如下:
1 | docker run [OPTIONS] IMAGE [COMMAND] [ARG...] |
常用选项:
-d
:后台运行容器(即容器将以分离模式运行)。-p
:映射容器端口到主机端口,例如-p 8080:80
将容器的 80 端口映射到主机的 8080 端口。--name
:为容器指定一个名称。-v
:挂载主机目录或卷到容器,例如-v /path/on/host:/path/in/container
。--rm
:容器停止后自动删除容器。
示例:
1 | docker run -d -p 8080:80 --name my_container nginx |
此命令将启动一个名为 my_container
的容器,运行 Nginx 镜像,并将容器的 80 端口映射到主机的 8080 端口。
2. docker build
- 构建镜像
docker build
命令用于从 Dockerfile 构建镜像。Dockerfile 是一种文本文件,包含了一系列指令,用于定义如何创建镜像。
基本格式:
1 | docker build [OPTIONS] PATH | URL | - |
常用选项:
-t
:为构建的镜像指定标签(tag)。.
:指定构建上下文(通常是当前目录,Dockerfile 所在目录)。
示例:
1 | docker build -t my_image . |
此命令将在当前目录下构建 Docker 镜像,并将镜像命名为 my_image
。
3. docker ps
- 查看运行中的容器
docker ps
命令用于列出当前正在运行的容器。默认情况下,docker ps
只显示正在运行的容器。
常用选项:
-a
:显示所有容器,包括已停止的。-q
:只显示容器的 ID。
示例:
1 | docker ps |
此命令将列出所有正在运行的容器。
1 | docker ps -a |
此命令将列出所有容器(包括已停止的)。
4. docker stop
和 docker start
- 停止和启动容器
docker stop
用于停止正在运行的容器。docker start
用于启动一个已停止的容器。
示例:
1 | docker stop my_container |
此命令将停止名为 my_container
的容器。
1 | docker start my_container |
此命令将启动名为 my_container
的已停止容器。
5. docker rm
- 删除容器
docker rm
命令用于删除一个或多个容器。要删除的容器必须处于停止状态。
示例:
1 | docker rm my_container |
此命令将删除名为 my_container
的容器。
6. docker rmi
- 删除镜像
docker rmi
命令用于删除一个或多个镜像。
示例:
1 | docker rmi my_image |
此命令将删除名为 my_image
的镜像。
7. docker exec
- 在运行中的容器中执行命令
docker exec
命令允许你在运行中的容器中执行命令。例如,你可以在容器内启动一个新的终端或运行某个程序。
示例:
1 | docker exec -it my_container bash |
此命令将打开名为 my_container
的容器,并在其中启动一个交互式 Bash 终端。
8. docker logs
- 查看容器日志
docker logs
命令用于查看容器的标准输出和标准错误日志。
示例:
1 | docker logs my_container |
此命令将显示 my_container
容器的日志。
实用的命令行技巧
1. 查看所有容器及其信息
使用 docker ps -a
查看所有容器的状态,带上 -q
选项只返回容器 ID,方便批量操作。
1 | docker ps -aq |
2. 删除所有已停止的容器
可以使用以下命令删除所有已停止的容器:
1 | docker rm $(docker ps -aq -f status=exited) |
3. 删除未使用的镜像和容器
使用 docker system prune
命令可以清理所有未使用的镜像、容器和网络,帮助释放磁盘空间。
1 | docker system prune -a |
4. 查看镜像历史
你可以使用 docker history
命令查看镜像的构建历史,了解镜像是如何构建的。
1 | docker history my_image |