docker常见命令汇总 2 years ago
常见命令
# 删掉所有未启动的容器
sudo docker rm $(docker ps --filter status=exited -q)
# 查看正在run的容器
sudo docker ps
# list all containers
sudo docker ps -a
sudo docker container ls
# stop specific container
sudo docker container stop xxx
# remove specific container
sudo docker container rm xxx
# remove image
sudo docker image rm xxx
sudo docker rmi imagename
# remove image --force
sudo docker image rm -f xxx
#如果首次启动的时候忘了指定`--restart always`, 参考https://blog.csdn.net/chj_1224365967/article/details/109029856
docker update --restart always conatinerName
#从主机复制到容器
sudo docker cp host_path containerID:container_path
#从容器复制到主机
sudo docker cp containerID:container_path host_path
镜像管理
- docker images: 列出本地所有镜像。
- docker pull [镜像名]: 从 Docker Hub 或其他仓库拉取镜像。
- docker rmi [镜像名或ID]: 删除本地镜像。
- docker build -t [镜像名] [Dockerfile 路径]: 使用 Dockerfile 构建镜像。
- docker tag [镜像名]:[标签] [新镜像名]:[新标签]: 给镜像打标签,用于版本控制或推送。
- docker push [镜像名]:[标签]: 将镜像推送到 Docker Hub 或其他仓库。
- docker search [关键词]: 在 Docker Hub 上搜索镜像。
- docker history [镜像名或ID]: 查看镜像的构建历史。
- docker save [镜像名] -o [文件名]: 将镜像保存为 tar 文件。
- docker load -i [文件名]: 从 tar 文件加载镜像。
容器管理
- docker ps: 列出正在运行的容器。
- docker ps -a: 列出所有容器,包括已停止的。
- docker run [选项] [镜像名] [命令]: 创建并运行一个容器。常用选项:
-d
: 后台运行容器。-p [主机端口]:[容器端口]
: 端口映射。-v [主机目录]:[容器目录]
: 挂载数据卷。--name [容器名]
: 指定容器名称。-e [环境变量]=[值]
: 设置环境变量。--link [容器名]:[别名]
: 连接到其他容器。
- docker start [容器名或ID]: 启动一个已停止的容器。
- docker stop [容器名或ID]: 停止一个正在运行的容器。
- docker restart [容器名或ID]: 重启一个容器。
- docker kill [容器名或ID]: 强制停止一个容器。
- docker rm [容器名或ID]: 删除一个或多个已停止的容器。
- docker exec -it [容器名或ID] [命令]: 在运行的容器中执行命令。
- docker attach [容器名或ID]: 连接到正在运行的容器的标准输入、输出和错误流。
- docker logs [容器名或ID]: 查看容器的日志。
- docker inspect [容器名或ID]: 查看容器的详细信息。
- docker top [容器名或ID]: 查看容器中运行的进程。
- docker stats [容器名或ID]: 查看容器的资源使用情况统计信息。
- docker cp [容器名或ID]:[容器路径] [主机路径]: 将文件从容器复制到主机。
- docker cp [主机路径] [容器名或ID]:[容器路径]: 将文件从主机复制到容器。
- docker diff [容器名或ID]: 查看容器文件系统的更改。
- docker rename [容器名或ID] [新容器名]: 重命名容器。
- docker pause [容器名或ID]: 暂停容器中的所有进程。
- docker unpause [容器名或ID]: 恢复容器中已暂停的进程。
- docker wait [容器名或ID]: 阻塞直到容器停止。
- docker export [容器名或ID] -o [文件名]: 将容器导出为 tar 文件。
- docker import -i [文件名] [镜像名]:[标签]: 从 tar 文件导入容器。
网络管理
- docker network ls: 列出所有网络。
- docker network create [网络名]: 创建一个网络。
- docker network connect [网络名] [容器名或ID]: 将容器连接到网络。
- docker network disconnect [网络名] [容器名或ID]: 从网络断开容器。
- docker network rm [网络名]: 删除一个或多个网络。
- docker network inspect [网络名]: 查看网络的详细信息。
数据卷管理
- docker volume ls: 列出所有数据卷。
- docker volume create [数据卷名]: 创建一个数据卷。
- docker volume rm [数据卷名]: 删除一个或多个数据卷。
- docker volume inspect [数据卷名]: 查看数据卷的详细信息。
其他命令
- docker info: 显示 Docker 系统信息。
- docker version: 显示 Docker 版本信息。
- docker login: 登录到 Docker Hub 或其他仓库。
- docker logout: 从 Docker Hub 或其他仓库注销。
- docker help: 显示 Docker 命令的帮助信息。
Swarm 集群管理 (用于 Docker 集群)
- docker swarm init: 初始化一个 Swarm 集群。
- docker swarm join: 加入一个 Swarm 集群。
- docker swarm leave: 离开一个 Swarm 集群。
- docker swarm update: 更新 Swarm 集群。
- docker node ls: 列出 Swarm 集群中的节点。
- docker service create: 创建一个服务。
- docker service update: 更新一个服务。
- docker service rm: 删除一个服务。
Docker Compose (用于多容器应用)
- docker-compose up: 启动 Compose 文件中定义的所有服务。
- docker-compose down: 停止并删除 Compose 文件中定义的所有服务。
- docker-compose ps: 列出 Compose 文件中定义的所有服务。
- docker-compose logs: 查看 Compose 文件中定义的所有服务的日志。
这只是 Docker 常用命令的总结,每个命令还有许多选项和用法,可以通过 docker help [命令]
查看详细说明。
其他资源
- docker官网:https://docs.docker.com/engine/reference/commandline/rm/
- docker study: https://yeasy.gitbook.io/docker_practice/ci/actions
- docker-tutorial: https://github.com/jaywcjlove/docker-tutorial