文档首页> 技术教程> docker run 常用参数:端口、挂载、重启策略

docker run 常用参数:端口、挂载、重启策略

发布时间:2026-09-17 19:59        更新时间:2026-09-18 00:54
docker run 后面能跟的参数有几十个,日常高频使用的就四五个。把 -p、-v、--restart、--rm 这几个吃透,多数场景已经够用。 -p:端口映射 容器有独立的网络空间,外部要访问就得映射端口。docker run -d -p 8080:80 nginx 表示宿主机的 8080 对应容器的 80,浏览器访问 http://192.0.2.10:8080 即达。同一服务跑多份时特别有用:再起一个 -p 8081:80 的实例,两个互不冲突。格式固定为"宿主机端口:容器端口",顺序别记反。只做容器间互通、不对宿主机开端口时,省略 -p 更安全。 -v:挂载数据 容器可写层的数据随容器删除而消失,重要数据必须挂到宿主机。-v /opt/mysql/data:/var/lib/mysql 把宿主机目录接进容器,容器随便重建,数据都在宿主机上。另一种用法是挂单个配置文件,改配置不必重做镜像。挂载路径写绝对路径,避免相对路径带来的歧义。配完用 docker inspect 的 Mounts 段核对映射方向,写反是常见失误。 --restart:重启策略 --restart=always 表示容器退出后总是自动拉起,服务器重启后 Docker 也会把它带起来,跑常驻服务基本是标配。温和一点的 --restart=on-failure:3 只在异常退出时重试三次,适合启动可能失败但不想无限重启的任务。容器创建后还能用 docker update --restart 修改策略,不必删了重建。手动 stop 的容器不会被自动拉起,这是刻意设计,方便维护。 --rm:用完即删 临时测试镜像时加上 --rm,容器一退出就自动清理,不会在 docker ps -a 里留下一排死容器。进容器逛一圈的场景配合 -it:docker run --rm -it alpine sh,退出即清干净,测试成本为零。一次性任务同样适合它,比如跑一次数据库备份的临时容器。 一个组合示例 docker run -d --name blog --restart=always -p 8090:8090 -v /opt/blog:/data 镜像名——常驻、自启、数据外挂,一条命令办完三件事。参数先后顺序无关,名字对上就行。 参数记不住没关系,docker run --help 随时可查。把常用的组合存成自己的笔记,用时复制改改就行。