三、【docker】docker和docker-compose的常用命令

文章目录

一、docker常用命令

1、镜像管理

bash 复制代码
# 查看本地镜像
docker images

# 拉取镜像
docker pull <image-name>:<tag>

# 删除镜像
docker rmi <image-id/image-name>

# 构建镜像
docker build -t <name>:<tag> .

# 推送镜像到仓库
docker push <image-name>:<tag>

2、容器管理

bash 复制代码
# 运行容器
docker run -d --name <container-name> <image-name>

# 常用运行参数:
# -d: 后台运行
# -p 8080:80: 端口映射
# -v /host/path:/container/path: 挂载卷
# --network: 指定网络
# -e KEY=VALUE: 设置环境变量

# 停止容器
docker stop <container-id/name>

# 启动已停止的容器
docker start <container-id/name>

# 重启容器
docker restart <container-id/name>

# 删除容器
docker rm <container-id/name>

3、容器监控和调试

bash 复制代码
# 查看运行中的容器
docker ps

# 查看所有容器(包括已停止的)
docker ps -a

# 查看容器日志
docker logs <container-id/name>
docker logs -f <container-id/name>  # 实时查看

# 进入容器
docker exec -it <container-id/name> bash

# 查看容器资源使用情况
docker stats

# 查看容器详细信息
docker inspect <container-id/name>

4、网络管理

bash 复制代码
# 查看网络列表
docker network ls

# 创建网络
docker network create <network-name>

# 将容器连接到网络
docker network connect <network-name> <container-id/name>

# 断开网络连接
docker network disconnect <network-name> <container-id/name>

5、数据卷管理

bash 复制代码
# 查看所有数据卷
docker volume ls

# 创建数据卷
docker volume create <volume-name>

# 删除数据卷
docker volume rm <volume-name>

# 清理未使用的数据卷
docker volume prune

6、系统维护

bash 复制代码
# 查看 Docker 系统信息
docker info

# 查看 Docker 版本
docker version

# 清理未使用的资源(镜像、容器、网络等)
docker system prune

# 查看 Docker 磁盘使用情况
docker system df

7、实用组合命令

bash 复制代码
# 停止所有运行中的容器
docker stop $(docker ps -q)

# 删除所有已停止的容器
docker rm $(docker ps -a -q)

# 删除所有未使用的镜像
docker image prune -a

# 完全清理系统
docker system prune -a --volumes

8、常用技巧

  1. 批量操作
bash 复制代码
# 删除所有退出状态的容器
docker rm $(docker ps -a -f status=exited -q)

# 删除所有包含特定名称的镜像
docker rmi $(docker images | grep "name" | awk '{print $3}')
  1. 查看容器IP
bash 复制代码
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container-id/name>

二、docker-compose常用命令

1、基本命令

  1. 启动服务
bash 复制代码
# 启动所有服务
docker-compose up

# 后台启动所有服务
docker-compose up -d

# 启动特定服务
docker-compose up <service-name>
  1. 停止服务
bash 复制代码
# 停止所有服务
docker-compose down

# 停止并删除所有容器、网络
docker-compose down --volumes

# 停止特定服务
docker-compose stop <service-name>
  1. 查看状态
bash 复制代码
# 查看所有服务状态
docker-compose ps

# 查看服务日志
docker-compose logs

# 实时查看日志
docker-compose logs -f

2、构建相关

bash 复制代码
# 构建服务
docker-compose build

# 构建特定服务
docker-compose build <service-name>

# 构建时不使用缓存
docker-compose build --no-cache

3、运行维护

bash 复制代码
# 重启服务
docker-compose restart

# 重启特定服务
docker-compose restart <service-name>

# 进入容器
docker-compose exec <service-name> bash

# 查看服务配置
docker-compose config

4、常用组合命令

bash 复制代码
# 停止并删除所有容器,然后重新构建并启动
docker-compose down && docker-compose build && docker-compose up -d

# 查看特定服务的日志
docker-compose logs -f <service-name>

5、实用参数

  • -d: 后台运行
  • --build: 启动前先构建镜像
  • -f: 指定 docker-compose.yml 文件路径
  • --no-deps: 不启动依赖服务
  • --force-recreate: 强制重新创建容器
相关推荐
不灭的程序员阿澄1 小时前
在飞牛 NAS 上用 Docker 运行 DeepSeek Harness
运维·docker·容器
虎王物联3 小时前
Docker Compose编排物联网平台后端:Nginx+PHP-FPM+EMQX+InfluxDB一键部署实战
物联网·nginx·docker
勇往直前plus6 小时前
Docker PostgreSQL 16 部署要点(Ubuntu 22)
ubuntu·docker·postgresql
angushine7 小时前
Docker部署镜像管理
运维·docker·容器
javachen__7 小时前
Docker一键清理 + 全局限制,告别日志报满
java·docker·容器
java_logo8 小时前
Docker 部署 FalkorDB:轻松搭建属性图数据库与知识图谱平台
数据库·docker·知识图谱·falkordb·轩辕镜像·falkordb部署教程·falkordb部署文档
滨哥GPT11 小时前
Codex修改环境变量后项目还是报错怎么办?.env、配置加载与运行环境排查
docker·ai编程·环境变量·开发环境·codex·env
nuo53420212 小时前
进阶 1 —— Docker 中常见软件的复杂安装
docker·容器
EXI-小洲12 小时前
Docker 容器部署 EMQX|MQTT 消息代理服务安装与配置教程
运维·mqtt·docker·emqx
钝挫力PROGRAMER14 小时前
Windows Docker 环境搭建 GitLab CI/CD 流水线
windows·docker·gitlab·gitlab-runner