docker 容器 改为 自动重启
时间: 2023-10-25 20:07:22 浏览: 265
要将Docker容器设置为自动重启,可以使用Docker的restart策略。Docker提供了四种可用的restart策略:
1. "no":不自动重启容器。这是默认策略。
2. "on-failure":只有在非零退出代码时才会自动重启容器。
3. "always":总是自动重启容器,不考虑退出代码。
4. "unless-stopped":除非手动停止容器,否则始终自动重启。
要将容器设置为自动重启,可以使用`docker run`命令的`--restart`标志。例如,要将容器设置为每次都自动重启,可以运行以下命令:
```shell
docker run --restart always <image>
```
如果您只想在容器失败时才自动重启,可以使用以下命令:
```shell
docker run --restart on-failure <image>
```
您还可以使用Docker Compose来设置自动重启。在您的docker-compose.yml文件中,可以为每个服务指定`restart`选项。例如:
```yaml
services:
myservice:
image: <image>
restart: always
```
使用上述方法,您可以将Docker容器配置为自动重启以确保持续运行。
相关问题
docker镜像地址改了重启
### 更改 Docker 镜像地址并正确重启容器
当更改 Docker 的镜像存储位置后,为了使这些更改生效,需要按照特定流程操作以确保数据的一致性和完整性。
#### 处理现有容器和镜像
在调整 Docker 存储路径之前,建议停止所有正在运行的服务,并保存当前环境的状态。这可以防止因中途变更而导致的数据丢失或损坏情况发生[^1]。
```bash
sudo systemctl stop docker
```
#### 修改配置文件
编辑 `/etc/docker/daemon.json` 文件,在其中指定新的图形驱动目录作为 `data-root` 参数值:
```json
{
"data-root": "/new/path/to/docker"
}
```
完成上述设置之后,执行如下指令让改动即时生效:
```bash
sudo systemctl daemon-reload
sudo systemctl start docker
```
此时应当检查新设定是否被采纳,可通过命令确认实际使用的根目录确实指向了预期的位置[^3]:
```bash
docker info | grep 'Docker Root Dir'
```
#### 清除旧有残留资源
如果原存放点内尚留有任何未迁移完毕的对象,则需手动清理以免造成混淆;但务必谨慎行事以防误删重要资料[^4]。
对于那些基于先前版本创建出来的实例而言,可能还需要额外处理它们之间的关联关系——即先移除依赖项再继续后续动作。
#### 启动原有容器
一旦完成了前面几步工作,就可以着手恢复业务逻辑层面的功能了。针对每一个想要保留下来的实例,应该依据其启动脚本或者文档说明来进行相应的初始化活动[^2]。
假设有一个名为 `my_container` 的容器,可以通过下面的方式让它再次上线:
```bash
docker container ls -a # 查看所有的容器列表找到对应的 ID 或名称
docker start my_container # 使用具体的标识符代替这里的占位符
```
若希望某些服务能够在系统开机时自动激活,那么可以在最初部署的时候就为其指派合适的重启策略。
如何修改docker容器 hosts
可以通过修改Docker容器的hosts文件来实现。具体步骤如下:
1. 进入Docker容器:通过docker exec命令进入要修改hosts文件的容器。例如:
```
docker exec -it container_name /bin/bash
```
其中,container_name是要进入的容器名称。
2. 编辑hosts文件:使用vi或者其他文本编辑器打开/etc/hosts文件,添加需要修改的IP地址和主机名。例如:
```
vi /etc/hosts
```
在hosts文件中添加一行,格式为:
```
IP_address hostname
```
其中,IP_address为要绑定的IP地址,hostname为要绑定的主机名。
3. 保存修改:保存并退出编辑器。在vi中,可以通过输入:wq命令保存并退出。
4. 测试修改:在容器内部使用ping或者curl等命令测试修改是否生效。例如:
```
ping hostname
```
如果能够正常解析并ping通,则说明修改成功。
5. 退出容器:在容器内部输入exit命令退出容器。
6. 重启容器:为了使修改生效,可以重启容器。例如:
```
docker restart container_name
```
其中,container_name是要重启的容器名称。
以上步骤可以帮助你修改Docker容器的hosts文件。注意,修改hosts文件可能会影响到容器中的其他应用程序,因此需要谨慎操作。
阅读全文