Docker常用命令

Docker常用命令

以下是一份面向 Java 开发工程师的 Docker 常用命令速查清单,涵盖了镜像管理、容器操作、日志查看、网络与卷管理等核心内容,并结合 Java 应用场景做了简要说明。


🐳 一、镜像(Image)相关命令

命令 说明
docker images 列出本地所有镜像
docker pull <image> 从仓库拉取镜像(如 docker pull openjdk:17
docker build -t <name>:<tag> . 构建镜像(通常配合 Dockerfile. 表示当前目录)
docker rmi <image> 删除本地镜像
docker tag <source> <target> 给镜像打标签(如 docker tag myapp:latest myregistry/myapp:v1
docker push <image> 推送镜像到远程仓库(需先登录)

💡 Java 场景:常用基础镜像如 openjdk:17-jdk-slimeclipse-temurin:17-jdk-alpine


🚢 二、容器(Container)操作命令

命令 说明
docker run -d -p 8080:8080 --name myapp myimage 后台运行容器,端口映射,指定名称
docker ps 查看正在运行的容器
docker ps -a 查看所有容器(包括已停止的)
docker stop <container> 停止容器
docker start <container> 启动已停止的容器
docker restart <container> 重启容器
docker rm <container> 删除容器(需先停止)
docker rm -f <container> 强制删除正在运行的容器
docker exec -it <container> /bin/bash 进入容器内部(调试用)
docker logs -f <container> 实时查看容器日志(Java 应用输出日志必备)
docker logs --tail 100 <container> 查看最近 100 行日志

💡 Java 场景:Spring Boot 应用通常打包为 JAR,通过 java -jar app.jar 启动,端口默认 8080。


📦 三、构建 Java 应用镜像(Dockerfile 示例)

Dockerfile 复制代码
# 使用官方 OpenJDK 17 镜像
FROM openjdk:17-jdk-slim

# 设置工作目录
WORKDIR /app

# 复制 JAR 文件到容器
COPY target/myapp.jar app.jar

# 暴露端口
EXPOSE 8080

# 启动应用
ENTRYPOINT ["java", "-jar", "app.jar"]

构建命令:

bash 复制代码
docker build -t myapp:1.0 .

运行命令:

bash 复制代码
docker run -d -p 8080:8080 --name myapp-container myapp:1.0

🗃️ 四、数据卷(Volume)与挂载

命令 说明
docker volume create myvol 创建命名卷
docker run -v myvol:/app/data ... 挂载命名卷到容器路径
docker run -v /host/path:/container/path ... 挂载主机目录(开发调试常用)
docker volume ls 列出所有卷
docker volume rm myvol 删除卷

💡 Java 场景:可用于持久化配置文件(如 application.yml)、日志或上传文件。


🌐 五、网络(Network)管理

命令 说明
docker network ls 查看网络
docker network create mynet 创建自定义网络
docker run --network mynet ... 将容器加入指定网络
docker network inspect mynet 查看网络详情

💡 Java 场景:微服务之间通信建议使用自定义 bridge 网络,可通过服务名互相访问。


🔍 六、其他实用命令

命令 说明
docker system df 查看 Docker 磁盘使用情况
docker system prune 清理无用容器、镜像、网络、缓存(谨慎使用)
docker stats 实时监控容器资源使用(CPU/内存等)
docker inspect <container> 查看容器详细信息(IP、挂载点等)

✅ 小贴士(Java 开发者专属)

  1. 避免在容器中使用 latest 标签 :应固定 JDK 版本(如 openjdk:17.0.10-jdk-slim)。

  2. 多阶段构建 可减小镜像体积:

    Dockerfile 复制代码
    FROM maven:3.9-eclipse-temurin-17 AS builder
    COPY . .
    RUN mvn clean package -DskipTests
    
    FROM eclipse-temurin:17-jre-alpine
    COPY --from=builder target/app.jar app.jar
    ENTRYPOINT ["java", "-jar", "app.jar"]
  3. 健康检查 :可在 Dockerfiledocker run 中添加 HEALTHCHECK,便于 Kubernetes 或 Docker Compose 监控应用状态。

相关推荐
小龙在慢慢变强..16 小时前
目录结构(FHS 标准)
linux·运维·服务器
刘延林.16 小时前
win11系统下通过 WSL2 安装Ubuntu 24.04 使用RTX 5080 GPU
linux·运维·ubuntu
星恒讯工业路由器16 小时前
星恒讯工业生产自动化解决方案
运维·物联网·自动化·智能路由器·信息与通信
a8a30216 小时前
Laravel9.x新特性全解析
运维·spring boot·nginx
beyond阿亮16 小时前
IEC104 Client Simulator - IEC104 主站/客户端模拟器 仿真器免费使用教程
运维·服务器·网络
郑寿昌17 小时前
GPU显存HPA:K8s智能扩缩实战
云原生·容器·kubernetes
Agent产品评测局17 小时前
生产排期与MES/ERP系统打通,实操方法详解:2026企业级智能体与超自动化集成实战指南
运维·人工智能·ai·chatgpt·自动化
C Y D17 小时前
只启动wsl
docker
CodeOfCC17 小时前
Linux 嵌入式arm64安装openclaw
linux·运维·服务器
绿虫光伏运维17 小时前
一文理清光伏运维的内容、常见问题与重要措施
大数据·运维·光伏业务