一、服务相关
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以及对应的替代命令:
- 使用sh shell:
docker exec -it <container_id> /bin/sh
- 使用ash shell: 如果基础镜像是Alpine Linux,可能使用的是
ash
shell。docker exec -it <container_id> /bin/ash
- 使用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
命令的常见用法:
-
删除单个镜像:
docker rmi <image_name>
-
删除多个镜像:
docker rmi <image_name_1> <image_name_2> <image_name_3>
-
删除所有未使用的镜像:
docker image prune
或者,删除所有未使用的镜像并提供确认提示:
docker image prune -a
这将删除未被任何容器引用的镜像。
-
删除所有镜像:
docker rmi $(docker images -q)
**上述命令通过 **
docker images -q
获取所有镜像的ID,然后将其传递给docker rmi
命令。 -
强制删除镜像: **在某些情况下,可能需要强制删除正在使用的镜像。使用 **
-f
或--force
选项来强制删除。docker rmi -f <image_name>
请注意,删除镜像前应该确保它们不被任何正在运行的容器使用。如果某个容器仍然在使用一个镜像,你可能需要停止或删除相应的容器,然后再删除镜像。
注意: 谨慎使用 docker rmi
命令,特别是删除所有镜像的操作,因为这可能导致数据丢失。确保你了解每个镜像的用途,避免误删重要镜像。
评论区