docker开机启动失败_Docker容器开机自动启动
时间: 2023-07-01 16:10:55 浏览: 162
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开机时自动启动容器,你可以使用以下方法:
1. 使用`--restart`选项:在运行容器时,使用`--restart`选项来指定容器的重启策略。可以选择的策略包括`no`(不重启,默认选项)、`always`(总是重启)和`on-failure`(发生错误时重启)。例如,运行以下命令来创建一个自动重启的容器:
```
docker run --restart=always <image>
```
2. 使用systemd服务:如果你的系统使用systemd作为init系统,你可以创建一个systemd服务来管理Docker容器。创建一个以`.service`为扩展名的文件,然后在该文件中定义你的容器配置。例如,创建一个名为`mycontainer.service`的文件,内容如下:
```
[Unit]
Description=My Docker Container
Requires=docker.service
After=docker.service
[Service]
Restart=always
ExecStart=/usr/bin/docker start -a mycontainer
ExecStop=/usr/bin/docker stop -t 2 mycontainer
[Install]
WantedBy=default.target
```
然后,将该文件复制到`/etc/systemd/system/`目录下,并运行以下命令启用和启动服务:
```
sudo systemctl enable mycontainer
sudo systemctl start mycontainer
```
无论你选择哪种方法,都可以实现在Docker开机时自动启动容器。
docker容器开机启动
Docker容器可以通过设置重启策略来实现开机启动。具体来说,可以在启动容器时使用`--restart`参数来设置重启策略。常用的重启策略包括:
- `no`:默认策略,容器退出时不重启容器;
- `on-failure`:在容器非正常退出时(退出状态非0)才重新启动容器;
- `on-failure:3`:在容器非正常退出时重启容器,最多重启3次;
- `always`:无论退出状态是如何,都重启容器;
- `unless-stopped`:在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器。
例如,以下命令启动一个名为`my_container`的容器,并设置重启策略为`always`:
```
docker run -d --name my_container --restart always my_image
```
这样,当Docker守护进程启动时,或者容器被手动停止时,容器都会自动重启。