docker如何查看和关闭开机自启容器
时间: 2024-03-21 14:14:39 浏览: 9
要查看Docker容器的开机自启状态,您可以使用以下命令:
```
sudo docker ps -a --filter "status=exited"
```
这将列出所有已停止的容器,其中包括它们的状态和启动时间。如果容器的状态为“Exited (0)”并且自启功能已启用,则此容器将在系统启动时自动启动。
要关闭Docker容器的自启功能,可以使用以下命令:
```
sudo docker update --restart=no <container_name_or_id>
```
这将禁用指定容器的自启功能。如果您想要完全禁用Docker容器的自启功能,您可以编辑`/etc/docker/daemon.json`文件并将以下选项设置为false:
```
{
"restart": false
}
```
请注意,如果您在使用Docker Compose,则可以在`docker-compose.yml`文件中指定容器的自启选项。在服务定义下添加以下选项:
```
restart: no
```
相关问题
docker开机启动失败_Docker容器开机自动启动
Docker容器开机自动启动需要进行以下步骤:
1. 创建一个 systemd unit 文件,用于启动 Docker 容器。可以使用以下命令创建 unit 文件:
```
sudo nano /etc/systemd/system/docker-container.service
```
在文件中添加以下内容:
```
[Unit]
Description=Docker Container
Requires=docker.service
After=docker.service
[Service]
Restart=always
ExecStart=/usr/bin/docker start -a CONTAINER_NAME
ExecStop=/usr/bin/docker stop -t 2 CONTAINER_NAME
[Install]
WantedBy=default.target
```
其中,`CONTAINER_NAME` 是你要启动的 Docker 容器的名称。
2. 保存并关闭文件。
3. 重新加载 systemd 配置:
```
sudo systemctl daemon-reload
```
4. 启用自动启动:
```
sudo systemctl enable docker-container.service
```
现在,你的 Docker 容器将在系统启动时自动启动。
docker启动多个应用开机自启
要在开机时自动启动多个Docker容器的应用程序,可以使用systemd服务。在以下示例中,我们将使用两个Docker容器启动两个应用程序。
1. 创建一个systemd服务文件
在`/etc/systemd/system`目录中创建一个新文件,例如`myapps.service`:
```
sudo nano /etc/systemd/system/myapps.service
```
输入以下内容:
```
[Unit]
Description=My Apps
Requires=docker.service
After=docker.service
[Service]
Restart=always
ExecStart=/usr/bin/docker-compose -f /path/to/docker-compose.yml up
ExecStop=/usr/bin/docker-compose -f /path/to/docker-compose.yml down
WorkingDirectory=/path/to/docker-compose.yml
[Install]
WantedBy=multi-user.target
```
在这个服务文件中,我们将Docker Compose用于启动和停止Docker容器。将`/path/to/docker-compose.yml`替换为您的实际Compose文件路径。
2. 启用和启动服务
在终端中运行以下命令,启用和启动服务:
```
sudo systemctl enable myapps.service
sudo systemctl start myapps.service
```
现在,您的Docker容器应该在系统启动时自动启动,并且在系统关闭时自动停止。