ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Linux Docker 运维详细命令大全

Linux Docker 运维详细命令大全 说明[]代表可选参数代表必填-d后台运行-p端口映射-v数据卷--name指定容器名。一、基础信息查看# docker版本信息 docker version 系统信息镜像、容器、存储驱动 docker info 帮助 docker --help docker 命令 --help二、镜像操作(image)# 搜索镜像 docker search nginx 拉取镜像不加tag默认latest docker pull nginx docker pull nginx:1.25 列出本地镜像 docker images docker image ls 删除镜像镜像ID/镜像名:tag docker rmi 镜像ID docker rmi nginx:1.25 强制删除镜像 docker rmi -f 镜像ID 删除所有未使用镜像 docker image prune 删除所有未使用包括未被容器使用 docker image prune -a 导出镜像为tar包 docker save -o nginx.tar nginx:1.25 导入tar镜像 docker load -i nginx.tar 根据容器制作镜像提交 docker commit [参数] 容器ID 新镜像名:tag 示例 docker commit -aauthor -mtest 容器ID mynginx:v1 查看镜像分层历史 docker history nginx:1.25三、容器操作(container)1. 创建并启动容器 docker run# 常用完整示例 docker run -d \ --name nginx-demo \ -p 8080:80 \ -v /data/nginx/html:/usr/share/nginx/html \ -v /data/nginx/conf:/etc/nginx/conf.d \ --restart always \ nginx:1.25 参数解释 -d 后台守护进程运行 --name 容器名字 -p 宿主机端口:容器内部端口 端口映射 -v 宿主机目录:容器目录 数据卷挂载 --restart always 开机自启可选 no/on-failure/unless-stopped --network host 使用主机网络不需要-p映射端口 -e KEYVALUE 设置环境变量-e TZAsia/Shanghai 设置时区 --privilegedtrue 特权模式慎用 --rm 容器退出自动删除测试用 -it 交互式终端进入容器2. 容器生命周期# 列出正在运行容器 docker ps 列出所有容器包含停止的 docker ps -a 启动已存在容器 docker start 容器ID/容器名 停止容器优雅关闭 docker stop 容器ID 强制杀死容器 docker kill 容器ID 重启容器 docker restart 容器ID 删除停止的容器 docker rm 容器ID 强制删除正在运行容器 docker rm -f 容器ID 清理所有停止的容器 docker container prune3. 进入容器# 最常用推荐 docker exec -it 容器ID /bin/bash 如果容器没有bash用sh docker exec -it 容器ID /bin/sh attach不推荐退出会停止容器 docker attach 容器ID4. 容器文件拷贝# 宿主机 → 容器 docker cp 本地文件路径 容器ID:/容器内路径 容器 → 宿主机 docker cp 容器ID:/容器内文件 宿主机路径 示例 docker cp index.html nginx-demo:/usr/share/nginx/html/ docker cp nginx-demo:/etc/nginx/nginx.conf ./5. 查看容器详情、日志、资源# 容器详细json信息IP、挂载、环境变量等 docker inspect 容器ID 查看容器日志 docker logs 容器ID -f 实时跟踪日志--tail 行数--since 指定时间 docker logs -f --tail 200 容器ID docker logs -f --since 2026-08-25 容器ID 查看容器cpu内存实时资源占用 docker stats docker stats 容器ID 查看容器内部进程 docker top 容器ID四、数据卷 volume持久化# 创建数据卷 docker volume create nginx-data 查看所有数据卷 docker volume ls 查看数据卷详情宿主机实际路径 docker volume inspect nginx-data 删除未使用数据卷 docker volume prune 删除指定数据卷 docker volume rm nginx-data 使用数据卷启动容器 docker run -d --name nginx -v nginx-data:/usr/share/nginx/html nginx两种挂载区别-v 卷名:/容器路径docker 管理数据卷存放在 docker 目录-v /宿主机绝对路径:/容器路径绑定挂载 bind mount自定义宿主机目录五、网络 docker network# 查看docker网络 docker network ls 创建自定义网络 docker network create my-net 查看网络详情 docker network inspect my-net 将容器连接到网络 docker network connect my-net 容器名 断开网络 docker network disconnect my-net 容器名 清理未使用网络 docker network prune 启动容器指定网络 docker run -d --name app --network my-net nginx host网络模式直接复用宿主机网络栈无需-p docker run -d --network host nginx网络模式bridge默认容器之间隔离host主机网络none无网络custom自定义桥接容器可通过容器名互相访问DNS解析六、Dockerfile构建镜像# -t 指定镜像名:tag .代表Dockerfile所在当前目录 docker build -t myapp:v1 . 指定Dockerfile文件名 docker build -f Dockerfile-prod -t myapp:v2 .简单Dockerfile示例FROM nginx:1.25 COPY index.html /usr/share/nginx/html/ EXPOSE 80 CMD [nginx,-g,daemon off;]七、Docker Compose运维高频管理多容器docker-compose.yml配置文件# 前台启动 docker-compose up 后台启动 docker-compose up -d 停止容器不删除 docker-compose stop 停止并删除容器、网络保留卷 docker-compose down down同时删除数据卷 docker-compose down -v 查看日志 docker-compose logs -f 重启服务 docker-compose restart 构建镜像并启动 docker-compose up -d --build 列出compose容器 docker-compose ps 进入compose容器 docker-compose exec 服务名 bash八、系统清理运维常用磁盘满的时候# 清理全部停止容器、无用镜像、网络、未使用卷 docker system prune 危险清理所有没有被使用的资源包括未使用镜像、卷 docker system prune -a --volumes九、运维实战高频示例1启动mysqldocker run -d \ --name mysql8 \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD123456 \ -v /data/mysql:/var/lib/mysql \ --restart always \ mysql:8.02修改已经运行容器端口docker run一旦启动不能直接修改参数两种方案docker inspect拿到配置导出配置修改重启麻烦推荐重新run新容器复制挂载配置3导出容器配置docker inspect 容器ID container.json十、排错常用命令总结# 容器启动失败先看日志 docker logs 容器ID 看完整元数据找IP、挂载、环境变量 docker inspect 容器ID 看磁盘占用 docker system df 看实时资源 docker stats常用参数速查表参数作用-d后台运行-it交互式终端-p hostPort:containerPort端口映射-v hostPath:containerPath挂载目录-e KV设置环境变量--name设置容器名称--restart always开机自启--network指定网络
返回列表