Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上。以下是Docker的一些常用命令:
镜像管理命令
docker search
- 功能:在Docker Hub等镜像仓库中搜索镜像。
- 示例:
docker search nginx
,搜索Nginx相关镜像,会列出镜像的名称、描述、星级等信息。
docker pull
- 功能:从镜像仓库拉取指定镜像到本地。
- 示例:
docker pull nginx
,拉取Nginx官方镜像;docker pull ubuntu:22.04
,拉取指定版本的Ubuntu镜像。
docker images
- 功能:列出本地所有的Docker镜像。
- 示例:
docker images
,输出包含镜像的仓库名、标签、镜像ID、创建时间和大小等信息;docker images -q
,只显示镜像ID。
docker rmi
- 功能:删除本地指定的Docker镜像。
- 示例:
docker rmi nginx
,删除Nginx镜像;docker rmi -f nginx:latest
,强制删除指定标签的Nginx镜像;docker rmi $(docker images -q -f dangling=true)
,删除所有悬空镜像(无标签的镜像)。
容器管理命令
docker run
- 功能:基于指定镜像创建并启动一个容器。
- 示例:
docker run -it ubuntu bash
,以交互模式(-i
)和伪终端(-t
)启动一个Ubuntu容器,并进入容器的bash shell;docker run -d -p 80:80 nginx
,以后台模式(-d
)启动Nginx容器,并将主机的80端口映射到容器的80端口(-p
)。
docker ps
- 功能:列出当前正在运行的Docker容器。
- 示例:
docker ps
,列出正在运行的容器,包括容器ID、镜像、命令、创建时间、状态、端口和名称等信息;docker ps -a
,列出所有容器,包括已停止的容器;docker ps -q
,只显示容器ID。
docker stop
- 功能:停止一个或多个正在运行的容器。
- 示例:
docker stop my_container
,停止名为my_container
的容器;docker stop $(docker ps -q)
,停止所有正在运行的容器。
docker start
- 功能:启动一个或多个已停止的容器。
- 示例:
docker start my_container
,启动名为my_container
的容器。
docker restart
- 功能:重启一个或多个容器。
- 示例:
docker restart my_container
,重启名为my_container
的容器。
docker rm
- 功能:删除一个或多个容器。
- 示例:
docker rm my_container
,删除名为my_container
的容器(容器必须先停止);docker rm -f $(docker ps -aq)
,强制删除所有容器(包括正在运行的容器)。
docker exec
- 功能:在正在运行的容器中执行指定命令。
- 示例:
docker exec -it my_container bash
,在名为my_container
的容器中以交互模式打开bash shell;docker exec my_container ls /
,在容器中执行ls /
命令,列出根目录下的文件和目录。
其他常用命令
docker logs
- 功能:查看容器的日志输出。
- 示例:
docker logs my_container
,查看名为my_container
的容器的日志;docker logs -f my_container
,实时跟踪容器的日志输出,类似tail -f
。
docker cp
- 功能:在容器与主机之间复制文件或目录。
- 示例:
docker cp my_container:/etc/nginx/nginx.conf .
,将容器my_container
中的/etc/nginx/nginx.conf
文件复制到主机当前目录;docker cp test.txt my_container:/tmp/
,将主机当前目录的test.txt
文件复制到容器my_container
的/tmp/
目录。
docker build
- 功能:根据
Dockerfile
构建一个镜像。 - 示例:在包含
Dockerfile
的目录下执行docker build -t my_image:tag .
,构建一个名为my_image
,标签为tag
的镜像,.
表示Dockerfile所在的路径。
- 功能:根据
docker system df
- 功能:查看Docker占用的磁盘空间,包括镜像、容器、卷等的占用情况。
- 示例:
docker system df
,输出类似Images
、Containers
、Local Volumes
等占用空间的信息。