36 字
1 分钟
Docker 常用命令
镜像操作
# 搜索镜像docker search <镜像名>
# 拉取镜像docker pull <镜像名> # 拉取最新版docker pull <镜像名>:<标签> # 拉取指定标签
# 列出本地镜像docker imagesdocker image ls
# 删除镜像docker rmi <镜像ID或名称> # 删除指定镜像docker rmi -f <镜像ID> # 强制删除
# 查看镜像详情docker inspect <镜像ID或名称>
# 查看镜像构建历史docker history <镜像ID或名称>容器操作
# 创建并启动容器docker run <镜像名>
# 列出容器docker ps # 运行中的容器docker ps -a # 所有容器(含已停止的)docker ps -aq # 只显示容器ID
# 启动/停止/重启容器docker start <容器ID或名称>docker stop <容器ID或名称>docker restart <容器ID或名称>
# 删除容器docker rm <容器ID或名称> # 删除已停止的容器docker rm -f <容器ID或名称> # 强制删除运行中的容器
# 进入容器内部docker exec -it <容器ID或名称> /bin/bash # bash shell
# 查看容器日志docker logs <容器ID或名称>docker logs -f <容器ID或名称> # 持续跟踪日志输出docker logs --tail 100 <容器ID> # 只看最后100行
# 查看容器进程docker top <容器ID或名称>
# 查看容器详情docker inspect <容器ID或名称>run 命令
# 基本用法docker run <镜像名>
# 常用选项docker run -d <镜像名> # 后台运行docker run -it <镜像名> # 交互式终端docker run --rm <镜像名> # 退出后自动删除容器docker run --name <名称> <镜像名> # 指定容器名称
# 端口映射 -p 宿主机端口:容器端口docker run -p 8080:80 <镜像名>docker run -p 3000:3000 <镜像名>
# 环境变量 -edocker run -e ENV=production <镜像名>
# 示例docker run -d --name myapp -p 8080:80 -e APP_ENV=prod --rm nginx保存镜像
# 将容器保存为新镜像docker commit <容器ID> <新镜像名:标签>
# 将镜像导出为 tar 文件docker save -o <文件名.tar> <镜像名:标签>
# 从 tar 文件导入镜像docker load -i <文件名.tar>
# 从 tar 文件导入为镜像docker import <文件名.tar> <新镜像名:标签>
# 导出容器为 tar 文件docker export -o <文件名.tar> <容器ID>分享镜像
# 登录镜像仓库docker login # 登录 Docker Hubdocker login <仓库地址> # 登录私有仓库
# 登出docker logout
# 给镜像打标签docker tag <原镜像名:标签> <仓库地址/用户名/镜像名:标签>
# 推送镜像到仓库docker push <仓库地址/用户名/镜像名:标签>
# 从仓库拉取镜像docker pull <仓库地址/用户名/镜像名:标签>目录挂载
# 把宿主机目录挂载到容器 -v 宿主机目录:容器目录docker run -v /宿主机路径:/容器路径 <镜像名>
# 可以同时挂载多个目录docker run -v /conf:/etc/nginx/conf.d -v /logs:/var/log/nginx nginx卷映射
# 创建数据卷docker volume create <卷名>
# 删除数据卷docker volume rm <卷名>
# 查看数据卷列表docker volume ls
# 查看数据卷详情docker volume inspect <卷名>
# 使用数据卷 -v 卷名:容器路径docker run -v <卷名>:/容器路径 <镜像名>
# 匿名卷(不指定卷名,Docker 自动生成)docker run -v /容器路径 <镜像名>
# 数据卷共享(多个容器用同一个卷)docker run -v shared-data:/app/data --name app1 <镜像1>docker run -v shared-data:/app/data --name app2 <镜像2>自定义网络
# 查看网络列表docker network ls
# 创建自定义网络docker network create <网络名>
# 容器连接到网络docker network connect <网络名> <容器名>
# 容器断开网络docker network disconnect <网络名> <容器名>
# 运行容器时指定网络docker run --network <网络名> <镜像名>
# 查看网络详情docker network inspect <网络名>
# 移除网络docker network rm <网络名>Docker Compose
docker compose up -d # 后台启动所有服务docker compose down # 停止并删除容器/网络docker compose down -v # 同时删除数据卷docker compose ps # 查看服务状态docker compose logs -f <服务名> # 查看日志docker compose exec <服务名> /bin/bash # 进入容器docker compose build # 构建镜像docker compose restart # 重启服务docker compose config -q # 验证配置文件docker compose -f compose.yaml up -d # 指定配置文件docker compose -p myproject up -d # 指定项目名称docker compose --profile dev up # 按配置启动部分信息可能已经过时





