常用 展示所有镜像
1 2 3 4 5 6 ubuntu@VM-0-6-ubuntu:~$ docker images i Info → U In Use IMAGE ID DISK USAGE CONTENT SIZE EXTRA justlikemaki/openclaw-docker-cn-im:latest 0e4e76e48020 9.92GB 2.71GB openclaw-custom:2026.03.04 11929d3e0258 11GB 2.89GB U openclaw-custom:latest 11929d3e0258 11GB 2.89GB U
展示所有的容器
1 2 3 ubuntu@VM-0-6-ubuntu:~$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a8049b706a76 openclaw-custom:latest "/usr/local/bin/init…" 16 hours ago Exited (0) 16 hours ago boring_margulis
展示正在运行的容器
1 2 ubuntu@VM-0-6-ubuntu:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
📦 镜像管理
命令
作用
docker images
查看本地所有镜像
docker pull <镜像名>
从仓库拉取镜像
docker push <镜像名>
推送镜像到仓库
docker build -t <名称> .
根据 Dockerfile 构建镜像
docker tag <源镜像> <目标镜像>
给镜像打标签(重命名)
docker rmi <镜像>
删除镜像
docker image prune
删除未使用的镜像(悬空镜像)
docker image prune -a
删除所有未被容器使用的镜像
🐳 容器管理
命令
作用
docker rm <容器>
删除已停止的容器
docker rm -f <容器>
强制删除容器(包括运行中的)
docker restart <容器>
重启容器
docker rename <旧名> <新名>
重命名容器
docker container prune
删除所有已停止的容器
📊 查看信息
命令
作用
docker inspect <容器/镜像>
查看详细配置信息(JSON 格式)
docker logs -f <容器>
实时跟踪容器日志(类似 tail -f)
docker logs --tail 100 <容器>
查看最后 100 行日志
docker stats
实时查看所有容器的资源使用情况(CPU/内存)
docker top <容器>
查看容器内运行的进程
docker port <容器>
查看容器端口映射
docker diff <容器>
查看容器文件系统的变化
📁 文件操作
命令
作用
docker cp <容器>:<路径> <本地路径>
从容器复制文件到本地
docker cp <本地路径> <容器>:<路径>
从本地复制文件到容器
💾 数据卷管理
命令
作用
docker volume ls
查看所有数据卷
docker volume create <名称>
创建数据卷
docker volume rm <名称>
删除数据卷
docker volume prune
删除未使用的数据卷
docker volume inspect <名称>
查看数据卷详情
🌐 网络管理
命令
作用
docker network ls
查看所有网络
docker network create <名称>
创建网络
docker network rm <名称>
删除网络
docker network connect <网络> <容器>
将容器连接到网络
docker network disconnect <网络> <容器>
将容器从网络断开
🧹 清理命令
命令
作用
docker system df
查看 Docker 磁盘使用情况
docker system prune
清理所有未使用的资源(容器、网络、镜像)
docker system prune -a --volumes
深度清理 :包括所有未使用镜像和数据卷
🔐 登录相关
命令
作用
docker login
登录 Docker Hub
docker login <仓库地址>
登录私有仓库(如腾讯云 TCR)
docker logout
退出登录
📝 常用组合示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 docker stop $(docker ps -aq) && docker rm $(docker ps -aq) docker rmi $(docker images -f "dangling=true" -q) docker history <镜像名> docker save -o openclaw.tar openclaw-custom:2026.03.04 docker load -i openclaw.tar docker commit <容器> <新镜像名>
💡 实用小技巧
技巧
说明
docker ps -q
只输出容器 ID(便于脚本处理)
docker images -q
只输出镜像 ID
--name <名称>
给容器指定名称,便于管理
-d
后台运行容器(detach 模式)
--restart=always
容器自动重启(开机自启)
--restart=unless-stopped
除非手动停止,否则自动重启
针对您的 OpenClaw 项目 ,最常用的可能是:
1 2 3 4 5 6 7 8 9 10 11 docker logs -f openclaw docker exec -it openclaw bash docker stats openclaw docker cp openclaw:/home/node/.openclaw ./backup-openclaw
openClaw 项目容器创建并启动命令:
1 2 3 4 5 6 docker run --rm -it \ -p 18889:18789 \ -v /tmp/openclaw-test:/home/node/.openclaw \ -e OPENCLAW_GATEWAY_BIND=lan \ openclaw-custom:latest
1 2 3 4 5 6 7 8 9 10 11 12 13 docker run -it \ -p 18889:18789 8888:8888 \ -v /home/ubuntu/docker_config/test1:/root/.openclaw \ openclaw-custom:latest-fix bash docker run -it \ -p 18889:18789 \ -p 8888:8888 \ -v /home/ubuntu/docker_config/test1:/root/.openclaw \ -e OPENCLAW_GATEWAY_BIND=lan \ openclaw-custom:latest-fix bash
命令解析:
参数
说明
docker run
Docker 的基础命令,用于创建并启动一个新容器
--rm
容器退出后自动删除。不加这个参数,容器停止后仍会保留在系统中
-it
两个参数的组合:-i(interactive)保持标准输入开启,-t(tty)分配一个终端,组合起来让你能看到容器的输出并可以用 Ctrl+C 停止
-p 18789:18789
端口映射:宿主机端口:容器端口,把容器内的 18789 端口映射到宿主机的 18789 端口,这样你就能通过 http://localhost:18789 访问容器内的服务
-v /tmp/openclaw-test:/home/node/.openclaw
卷挂载:宿主机目录:容器目录,把宿主机的 /tmp/openclaw-test 目录挂载到容器内的 /home/node/.openclaw,容器内对这个目录的读写会直接反映到宿主机目录
-e OPENCLAW_GATEWAY_BIND=lan
环境变量:在容器内设置环境变量 OPENCLAW_GATEWAY_BIND=lan,让服务监听所有网络接口(0.0.0.0)而不只是 localhost
openclaw-custom:latest
要运行的镜像名称:标签
参数不添加会怎么样?
参数
为什么需要?
不加会怎样?
--rm
自动清理临时容器,避免磁盘空间被无用容器占用
容器停止后仍保留在系统中,需手动执行 docker rm 清理,长期积累会占用大量磁盘空间
-it
提供交互式终端,便于实时查看日志输出、调试问题、用 Ctrl+C 优雅停止
容器在后台静默运行,看不到输出日志,无法通过 Ctrl+C 中断,排查问题困难
-p 18789:18789
将容器内服务端口映射到宿主机,使外部能够访问容器提供的服务
服务仅在容器内部网络可达,宿主机及外部无法通过 http://localhost:18789 访问
-v /tmp/openclaw-test:/home/node/.openclaw
实现数据持久化,配置/日志/结果等数据保存在宿主机,容器重建后数据不丢失
数据写入容器层,容器被删除后数据永久丢失,且难以从宿主机直接编辑配置文件
-e OPENCLAW_GATEWAY_BIND=lan
让服务监听 0.0.0.0(所有网络接口),支持通过宿主机 IP 或端口映射访问
服务默认只监听 127.0.0.1,即使有 -p 映射,宿主机也可能无法访问容器内服务
🔍 小结 :这些参数共同确保了容器的 可访问性 、可调试性 、数据持久性 和 环境整洁性 。根据实际场景可灵活调整,但开发和测试阶段建议保留以上配置。****
-V 挂载
启动时:宿主机的内容“遮蔽”容器内容 当容器启动并挂载 -v /tmp/openclaw-test:/home/node/.openclaw 时:
现象:容器内的 /home/node/.openclaw 目录会立即显示宿主机 /tmp/openclaw-test 里的文件。
本质:容器镜像里原本在这个路径下的文件会被临时隐藏(不是删除),容器此时只能看到宿主机目录里的内容。
运行时:双向实时同步 容器运行期间:
宿主机修改 → 容器内立即可见。
容器内修改 → 宿主机目录立即保存。
你的理解:“宿主机修改,容器内随之变化” → 正确(其实是双向的,容器改宿主机也会变)。
补充
命令
作用
docker run
创建并启动新容器
docker start <容器>
启动已存在的容器
docker stop <容器>
停止运行中的容器
docker ps
查看运行中的容器
docker ps -a
查看所有容器(包括已停止的)
docker logs <容器>
查看容器日志
docker exec -it <容器> bash
进入运行中的容器