三、【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: 强制重新创建容器
相关推荐
曲幽6 小时前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
武子康2 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
Alsn865 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
程序员老赵5 天前
服务器没有桌面?Docker 跑个 Chrome,浏览器就能远程用
docker·容器·devops
杨浦老苏5 天前
轻量级Docker仪表板Servedash
运维·docker·监控·群晖·仪表板
正经教主5 天前
【docker基础】 第八周:容器监控与应用更新策略
运维·docker·容器
kiros_wang5 天前
Docker 使用完整指南
运维·docker·容器
正经教主5 天前
【docker基础】第九周:Docker安全与镜像优化
运维·docker·容器
CodeStats5 天前
【虚拟机】 从 CPU 指令到虚拟机隔离:虚拟机就是一个“模拟了完整硬件的普通进程”
java·docker
ai产品老杨5 天前
突破安防碎片化:基于 Docker 与边缘计算的 AI 视频智能化中台,如何通过 GB28181/RTSP 统一接入与全套源码交付实现二次开发自由?
人工智能·docker·边缘计算