旺仔小糖

docker常见命令汇总 2 years ago

docker
4035个字符
共有144人围观

常见命令

# 删掉所有未启动的容器
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 [命令] 查看详细说明。

其他资源