docker-compose重启容器
时间: 2023-09-10 14:14:32 浏览: 292
要重启 Docker Compose 中的容器,可以使用以下命令:
```
docker-compose restart [service name]
```
其中,[service name] 是需要重启的服务名称。如果不指定服务名称,则会重启所有服务。
另外,如果想要在重启容器之前先停止它们,可以使用以下命令:
```
docker-compose down
```
这个命令会停止并删除所有容器、网络和卷。
然后再使用以下命令启动容器:
```
docker-compose up -d
```
其中,-d 参数表示在后台运行容器。
相关问题
docker-compose 容器定时重启
Docker Compose 是一个工具,用于定义和运行一组 Docker 镜像作为应用服务。如果你想要定期重启容器以保持其可用性和执行某些任务,通常不会直接通过 `docker-compose` 的命令行来配置定时重启。但是,你可以结合一些外部手段来实现这一需求。
一种常见的做法是在 Dockerfile 或者启动脚本(例如 entrypoint 或 command)中设置定时任务。例如,可以使用 Linux 的 `cron` 服务来调度容器的重启,或者借助其他的进程管理工具如 systemd、Supervisor 等。
具体步骤如下:
1. **使用`cron`**:
- 在 Dockerfile 中添加一个 shell 脚本来执行你需要的任务,然后指定这个脚本在一个特定的时间间隔运行。
```bash
RUN echo "0 * * * * /your/script.sh" > /etc/crontab
```
2. **使用`systemd`**:
- 创建一个 service 单元文件(比如 `/etc/systemd/system/restart-container.timer`),定义时间触发的重启操作。
```ini
[Unit]
Description=Restart my container every hour
OnCalendar=*:00/1 * * *
[Timer]
Persistent=true
Interval=60min
RandomizedDelaySec=30s
[Install]
WantedBy=default.target
```
然后启动并启用该定时器。
3. **使用`supervisor`**:
- 如果你正在使用 supervisor 进程管理器,可以在 supervisor 的 configuration 文件 (`supervisord.conf`) 中添加一个包含重启指令的服务。
记得每次更新镜像或者容器配置后,都要通过 `docker-compose up -d --force-recreate` 来确保新的配置生效,并重启容器。
docker-compose 单独重启某个容器
要单独重启某个容器,可以使用以下命令:
```shell
docker-compose restart <service_name>
```
将 `<service_name>` 替换为你要重启的容器的服务名称。这将重新启动指定的容器,并保持其他容器不受影响。
希望这可以帮到你!如有其他问题,请继续提问。
阅读全文