安装与版本
容器docker version查看Docker版本信息
容器docker info查看Docker系统信息
Composedocker compose version查看Docker Compose版本
镜像管理
镜像docker pull nginx:latest拉取镜像
镜像docker rmi nginx:latest删除指定镜像
Dockerfiledocker build -t myapp:1.0 .构建镜像并打标签
镜像docker tag myapp:1.0 myrepo/myapp:1.0为镜像添加新标签
镜像docker push myrepo/myapp:1.0推送镜像到仓库
镜像docker save -o myapp.tar myapp:1.0导出镜像为tar文件
镜像docker load -i myapp.tar从tar文件导入镜像
镜像docker history nginx:latest查看镜像构建历史
镜像docker inspect nginx:latest查看镜像详细信息(JSON)
镜像docker image prune -a删除所有未使用的镜像
容器docker cp container:/app/logs ./logs在容器和主机间复制文件
容器管理
容器docker run -d --name web -p 80:80 nginx后台运行容器,映射端口
容器docker run -it ubuntu bash交互式运行容器
容器docker run -v /host/path:/container/path nginx挂载数据卷运行容器
容器docker run -e MYSQL_ROOT_PASSWORD=123 mysql设置环境变量运行容器
容器docker ps -a查看所有容器(含已停止)
容器docker start web启动已停止的容器
容器docker stop web优雅停止容器(等待10秒后强制停止)
容器docker rm -f web删除容器(-f 强制)
容器docker logs -f --tail 100 web查看容器日志(实时跟踪)
容器docker exec -it web bash进入运行中的容器
容器docker exec web cat /etc/nginx/nginx.conf在容器内执行命令(不进入Shell)
容器docker attach web附加到容器主进程(Ctrl+P,Q分离)
容器docker rename old-name new-name重命名容器
容器docker inspect web查看容器详细配置
容器docker export web > container.tar导出容器文件系统为tar
容器docker port web查看容器端口映射
容器docker top web查看容器内运行的进程
容器docker diff web查看容器文件系统变化
数据卷
数据卷docker volume create mydata创建命名数据卷
数据卷docker volume ls列出所有数据卷
数据卷docker volume inspect mydata查看数据卷详情
数据卷docker volume rm mydata删除指定数据卷
数据卷docker volume prune删除所有未使用的数据卷
网络管理
网络docker network create mynet创建自定义网络
网络docker network ls列出所有网络
网络docker network inspect mynet查看网络详情
网络docker network connect mynet web将容器连接到网络
网络docker network disconnect mynet web从网络断开容器
网络docker network rm mynet删除自定义网络
网络docker run --network mynet --name db mysql指定容器加入的网络
Docker Compose
Composedocker compose up -d后台启动所有服务
Composedocker compose down -v停止并删除容器、网络、卷
Composedocker compose ps -a查看所有服务状态
Composedocker compose logs -f web查看指定服务日志
Composedocker compose build --no-cache重新构建服务镜像
Composedocker compose restart web重启指定服务
Composedocker compose exec web bash进入服务容器
Composedocker compose pull拉取所有服务最新镜像
Composedocker compose config验证并查看最终Compose配置
Composedocker compose top查看各服务的进程
Dockerfile 常用指令
DockerfileFROM node:20-alpine指定基础镜像
DockerfileWORKDIR /app设置工作目录
DockerfileCOPY package*.json ./复制文件到镜像
DockerfileRUN npm install --production构建时执行命令
DockerfileEXPOSE 3000声明容器监听的端口
DockerfileENV NODE_ENV=production设置环境变量
DockerfileARG VERSION=1.0构建时参数(仅构建阶段可用)
DockerfileCMD ["node", "server.js"]容器启动时的默认命令
DockerfileENTRYPOINT ["python", "app.py"]容器入口点
DockerfileVOLUME /data声明匿名卷挂载点
DockerfileUSER node切换运行用户
DockerfileHEALTHCHECK --interval=30s CMD curl -f http://localhost/定义健康检查
DockerfileFROM node:20 AS builder\nWORKDIR /app\nCOPY . .\nRUN npm run build\n\nFROM nginx:alpine\nCOPY --from=builder /app/dist /usr/share/nginx/html多阶段构建示例
检查与调试
容器docker system df查看Docker磁盘使用情况
容器docker events --since="2024-01-01"查看Docker事件日志
容器docker wait web等待容器停止并返回退出码
容器docker rename web nginx-server重命名容器
系统与清理
容器docker system prune -af⚠️ 清理所有未使用的资源(容器、镜像、网络)
容器docker container prune -f删除所有已停止的容器
镜像docker image prune -af删除所有未使用的镜像
网络docker network prune -f删除所有未使用的网络
镜像docker login docker.io登录Docker仓库
镜像docker logout退出Docker仓库