侧边栏壁纸
博主头像
Timeの客栈 博主等级

stay foolish,stay hungry

  • 累计撰写 16 篇文章
  • 累计创建 5 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Docker常用命令汇总

Time
2024-08-17 / 0 评论 / 2 点赞 / 139 阅读 / 0 字

一、服务相关

1.1 查看docker版本

docker --version
docker version

1.2 查看docker详细信息

docker info

1.3 启动Docker服务

sudo systemctl start docker

1.4 重启Docker服务

sudo systemctl restart docker

1.5 停止Docker服务

sudo systemctl stop docker

二、容器相关

2.1 搜索镜像

docker search <image_name>

2.2 拉取镜像

docker pull <image_name>

2.3 列出本地镜像

docker search <image_name>

2.4 运行容器

docker run <options> <image_name>

以上只是一个基础命令,多数命令是按照具体场景来配置的,例如下面这个是配置portainer

docker run -d \
-p 9000:9000 \
-p 8000:8000 \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /opt/docker/portainer-ce/data:/data \
--name portainer-ce portainer/portainer-ce

2.5 列出运行中的容器

docker ps

2.6 列出所有容器(包括已停止的)

docker ps -a

2.7 启动容器

docker start <container_id>

2.8 停止容器

docker stop <container_id>

2.9 重启容器

docker restart <container_id>

2.10 删除容器

docker rm <container_id>

2.11 查看容器日志

docker logs <container_id>

2.12 进入正在运行的容器

在Docker容器中,docker exec -it <container_id> /bin/bash命令用于通过交互式方式进入容器的Bash shell。Bash shell是一种常见的Linux/Unix shell,但并非所有的Docker容器都使用Bash shell。具体的shell取决于基础镜像的配置。

如果你知道容器中使用的shell是其他类型的,你可以替换 /bin/bash部分。以下是一些常见的shell以及对应的替代命令:

  1. 使用sh shell:
    docker exec -it <container_id> /bin/sh
    
  2. 使用ash shell: 如果基础镜像是Alpine Linux,可能使用的是 ash shell。
    docker exec -it <container_id> /bin/ash
    
  3. 使用zsh shell: 如果在容器中安装了zsh,可以使用以下命令:
    docker exec -it <container_id> /bin/zsh
    

确保替换的shell存在于容器内,否则你可能需要在镜像中安装相应的shell。一般来说,大多数Docker容器使用的是Bash shell或Alpine Linux的Ash shell。

2.13 查看容器内进程

docker top <container_id>

2.14 查看容器内部文件

docker cp <container_id>:<source_path> <destination_path>

2.15 查看Docker网络

docker network ls

2.16 查看Docker的卷

docker volume ls

2.17 查看Docker端口映射

docker port <container_id>

2.18 清理无用的容器、镜像和卷

docker system prune

2.19 查看Docker容器资源使用情况

docker stats <container_id>

2.20 删除镜像

docker rmi 命令用于删除本地的 Docker 镜像。以下是一些关于 docker rmi 命令的常见用法:

  1. 删除单个镜像:

    docker rmi <image_name>
    
  2. 删除多个镜像:

    docker rmi <image_name_1> <image_name_2> <image_name_3>
    
  3. 删除所有未使用的镜像:

    docker image prune
    

    或者,删除所有未使用的镜像并提供确认提示:

    docker image prune -a
    

    这将删除未被任何容器引用的镜像。

  4. 删除所有镜像:

    docker rmi $(docker images -q)
    

    **上述命令通过 **docker images -q 获取所有镜像的ID,然后将其传递给 docker rmi 命令。

  5. 强制删除镜像: **在某些情况下,可能需要强制删除正在使用的镜像。使用 **-f--force 选项来强制删除。

    docker rmi -f <image_name>
    

请注意,删除镜像前应该确保它们不被任何正在运行的容器使用。如果某个容器仍然在使用一个镜像,你可能需要停止或删除相应的容器,然后再删除镜像。

注意: 谨慎使用 docker rmi 命令,特别是删除所有镜像的操作,因为这可能导致数据丢失。确保你了解每个镜像的用途,避免误删重要镜像。

2

评论区