Docker 容器自动启动设置

在 Docker 中,可以通过设置容器的重启策略来实现容器的自动启动。这意味着,当 Docker 守护进程启动时,它可以自动启动特定的容器,无论是因为系统重启还是 Docker 服务本身的重启。

设置容器自动启动

要设置容器自动启动,可以在创建容器时使用 --restart 参数,或者对已经存在的容器使用 docker update 命令来修改其重启策略。--restart 参数有几个选项:

  • no:默认选项,容器退出时不会重启。

  • on-failure:仅当容器非正常退出(退出状态非0)时重启。

  • on-failure:3 :与 on-failure 相同,但是设置了重启次数的上限,例如这里是3次。

  • always:无论退出状态如何,总是尝试重启容器。

  • unless-stopped:总是重启容器,除非容器已经被明确停止。

创建容器时设置自动启动

创建容器时,可以直接在 docker run 命令中指定重启策略:

docker run -d --restart=always --name <container_name> <image>

这里的 <container_name> 是你给容器设置的名称,<image> 是你使用的镜像。

修改已有容器的自动启动设置

如果容器已经创建,但未设置自动启动,可以使用 docker update 命令来修改容器的重启策略:

docker update --restart=always <container_id_or_name>

<container_id_or_name> 替换为你的容器ID或名称。

开机启动 Docker 服务

除了设置容器的自动启动,还需要确保 Docker 服务本身在系统启动时自动启动。在基于 systemd 的系统中,可以使用以下命令来设置 Docker 服务的自动启动:

systemctl enable docker

这个命令会将 Docker 服务设置为开机自启动,确保每次机器启动时 Docker 都能运行,从而触发设置了自动启动的容器一同启动。

通过以上步骤,你可以轻松地管理 Docker 容器的自动启动行为,无论是在容器创建时直接设置,还是在容器运行后进行修改。这样可以确保关键的服务在必要时能够自动恢复,提高系统的稳定性和可用性。

相关推荐
分布式存储与RustFS15 小时前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
codeejun16 小时前
每日一Go·MySQL-5、锁机制全解析
云原生·golang
张洛闻Eren18 小时前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
不吃香菜kkk、1 天前
CI/CD(GitOps)学习与部署手册
运维·云原生·容器·kubernetes·云计算·jenkins·argocd
ChaITSimpleLove1 天前
云原生性能对决:JDK21虚拟线程+GraalVM vs .NET10/11 技术栈深度对比
微服务·云原生·serverless·graalvm native·native aot·runtime async·.net11/java21
春天花会开1312 天前
Supabase 自部署 Edge Functions 超时从 60s 延长到 360s 完整复盘
运维·云原生
ysu_03142 天前
【2026】K8s GPU调度空占怎么解?Kueue与Volcano Gang配置
云原生·kubernetes·gpu算力·volcano·ai基础设施·kueue·gang scheduling
天天喝旺仔3 天前
分布式服务容错实战:用 Sentinel 实现限流、熔断与降级
分布式·微服务·云原生·sentinel
逐流人3 天前
Containerd容器管理实战:从架构原理到nerdctlcrictl工具链
linux·运维·云原生·容器·云计算·containerd
运维开发王义杰4 天前
跨项目直连数据库:是架构反模式,还是现实的工程妥协?
云原生