docker服务和容器自启动

本文介绍如何配置Docker服务在服务器开机时自启动,包括使用systemctl命令进行设置的方法。同时,详细讲解了如何让Docker容器实现自动重启,通过在创建容器时指定restart参数或使用docker update命令来更新已存在的容器配置。

docker 服务器开机自启动:

1.systemctl is-enabled docker.service  检查服务是否开机启动

2.systemctl enable docker.service  将服务配置成开机启动

3.systemctl start docker.service  启动服务

 

systemctl  相关其他命令:

systemctl disable docker.service 禁止开机启动

systemctl stop docker.service  停止
systemctl restart docker.service  重启

 

//------------------------------------------------------

容器开机启动:

创建容器时候指定restart参数:

docker run    -it -p 6379:6379 --restart=always  --name redis -d redis

对已经创建的容器用docker update 更新:

docker update --restart=always  xxx

 

--restart具体参数值详细信息 :

no - 容器退出时,不重启容器
on-failure - 只有在非0状态退出时才从新启动容器
always - 无论退出状态是如何,都重启容器

### 如何防止 Docker Compose 容器在系统启动时自动运行 为了确保 Docker Compose 创建的服务不会随着系统的启动而自动启动,可以采取以下几种方法: #### 方法一:修改 `docker-compose.override.yml` 文件 可以通过设置 `restart` 策略来控制服务的行为。默认情况下,如果未指定重启策略,则容器会在主机重新启动时不自动启动。 ```yaml version: '3' services: redis: image: redis:latest restart: no ``` 这种方法适用于希望某些特定服务不随系统启动而启动的情况[^1]。 #### 方法二:使用环境变量或命令行选项禁用自动启动 当使用 Docker 的 systemd 集成时,默认行为可能会使所有定义于 `docker-compose.yml` 中的服务都尝试在系统引导期间启动。为了避免这种情况发生,可以在启动 Docker Compose 应用程序之前临时更改 COMPOSE_PROJECT_NAME 或者直接利用 `-d` 参数配合 `--remove-orphans` 来管理会话而不影响其他已存在的容器组。 对于那些已经设置了开机自启的项目,还可以通过移除对应的 Systemd service 单元文件或者调整其配置中的 `[Install]` 节点下的 WantedBy 属性为 multi-user.target 外的不同 target 来改变触发条件[^2]。 #### 方法三:停用并删除关联的 Systemd Service 如果确实不需要任何由 Docker Compose 启动的服务跟随操作系统一同启动,最彻底的办法就是停止这些服务并将它们从启动项列表里清除掉。这通常涉及到找到与该应用程序相对应的 .service 文件,并对其进行适当的操作以取消注册它作为开机启动的一部分。 ```bash sudo systemctl stop <project_name>_compose.service sudo systemctl disable <project_name>_compose.service ``` 以上措施能够有效阻止 Docker Compose 所编排的应用场景在机器每次上电后立即激活。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值