以下是Docker常用操作指令的整理,分为镜像管理、容器操作、网络配置、数据卷管理、Docker Compose及系统维护等部分:
一、镜像管理
-
拉取镜像
bashdocker pull [镜像名]:[标签] # 默认标签为latest # 示例:拉取Ubuntu 20.04镜像 docker pull ubuntu:20.04
-
构建镜像
bashdocker build -t [镜像名]:[标签] [Dockerfile路径] # 示例:从当前目录的Dockerfile构建镜像 docker build -t myapp:v1 .
-
列出本地镜像
bashdocker images # 仅显示镜像ID docker images -q
-
删除镜像
bashdocker rmi [镜像名或ID] # 强制删除(正在使用的镜像) docker rmi -f [镜像ID]
-
导出/导入镜像
bashdocker save -o [文件名.tar] [镜像名] # 导出 docker load -i [文件名.tar] # 导入
二、容器操作
-
启动容器
bashdocker run [选项] [镜像名] # 示例:启动并进入交互模式 docker run -it --name mycontainer ubuntu:20.04 /bin/bash # 后台运行并映射端口 docker run -d -p 8080:80 --name webserver nginx
常用选项 :
•
-d
:后台运行(守护模式)•
-p [宿主机端口]:[容器端口]
:端口映射•
-v [宿主机路径]:[容器路径]
:挂载数据卷•
--name
:指定容器名称•
--restart=always
:容器退出时自动重启 -
列出容器
bashdocker ps # 查看运行中的容器 docker ps -a # 查看所有容器(包括已停止的)
-
停止/启动/重启容器
bashdocker stop [容器名或ID] # 停止 docker start [容器名或ID] # 启动 docker restart [容器名或ID] # 重启
-
进入运行中的容器
bashdocker exec -it [容器名或ID] /bin/bash # 示例:进入容器并执行命令 docker exec -it webserver ls /usr/share/nginx/html
-
查看容器日志
bashdocker logs [容器名或ID] # 查看全部日志 docker logs -f [容器名或ID] # 实时跟踪日志(类似tail -f)
-
删除容器
bashdocker rm [容器名或ID] # 删除已停止的容器 docker rm -f [容器名或ID] # 强制删除运行中的容器
-
复制文件
bash# 从宿主机复制到容器 docker cp [宿主机文件路径] [容器名]:[容器路径] # 从容器复制到宿主机 docker cp [容器名]:[容器文件路径] [宿主机路径]
三、网络管理
-
列出网络
bashdocker network ls
-
创建自定义网络
bashdocker network create [网络名] # 示例:创建名为mynet的桥接网络 docker network create --driver bridge mynet
-
连接容器到网络
bashdocker network connect [网络名] [容器名] # 示例:将webserver容器连接到mynet网络 docker network connect mynet webserver
-
查看网络详情
bashdocker network inspect [网络名]
四、数据卷管理
-
创建数据卷
bashdocker volume create [卷名]
-
列出数据卷
bashdocker volume ls
-
挂载数据卷到容器
bashdocker run -v [卷名]:[容器路径] [镜像名] # 示例:挂载名为mydata的卷到容器的/app/data目录 docker run -v mydata:/app/data myapp
-
删除数据卷
bashdocker volume rm [卷名]
五、Docker Compose
-
启动服务
bashdocker-compose up -d # 后台启动
-
停止并删除服务
bashdocker-compose down
-
查看服务状态
bashdocker-compose ps
-
查看服务日志
bashdocker-compose logs -f [服务名]
六、系统维护
-
查看Docker信息
bashdocker info
-
清理未使用的资源
bashdocker system prune # 删除停止的容器、未使用的网络和悬空镜像 docker system prune -a # 额外删除所有未被使用的镜像
-
查看资源使用情况
bashdocker stats # 实时监控容器资源占用 docker system df # 查看磁盘使用情况
-
更新容器配置
bashdocker update --restart=always [容器名] # 设置自动重启 docker update --memory 512M [容器名] # 限制内存为512MB
七、实用技巧
-
快速清理所有容器和镜像
bashdocker rm -f $(docker ps -aq) # 删除所有容器 docker rmi -f $(docker images -q) # 删除所有镜像
-
查看容器内部进程
bashdocker top [容器名]
-
修改容器启动命令
bashdocker commit [容器名] [新镜像名] # 将容器保存为新镜像 docker run -it [新镜像名] [新命令]
总结
掌握以上命令可覆盖Docker日常操作的90%场景。建议结合实践加深理解,同时参考Docker官方文档以获取更详细的参数说明和高级功能。