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