Docker服务以及容器设置自动启动

Docker 服务开启自动启动和关闭自动启动:

查看已启动的服务

systemctl list-units --type=service

查看已启动的服务

systemctl list-unit-files | grep enable 

设置开机启动

systemctl enable docker.service

关闭开机启动 

systemctl disable docker.service

 Docker  容器开启自动启动和关闭自动启动:

检查是否已开启自动启动

docker container inspect --format='{{.HostConfig.RestartPolicy.Name}}'  <容器名称或ID>

启动时加--restart=always

docker run -tid --name custemName -p 8081:8080 --restart=always ......


Flag	Description
no		不自动重启容器. (默认value)
on-failure 	容器发生error而退出(容器退出状态不为0)重启容器
unless-stopped 	在容器已经stop掉或Docker stoped/restarted的时候才重启容器
always 	在容器已经stop掉或Docker stoped/restarted的时候才重启容器

正在运行的项目

docker update --restart=always 容器名称

重启在运行的所有容器
docker restart $(docker ps -q)
欧拉系统(Ubuntu、Debian等基于Linux发行版)中,要让Docker容器在每次系统启动自动运行,你可以按照以下步骤操作: 1. 首先,确保你的Docker服务已经在系统启动自动启动。检查当前的启动脚本路径,通常位于 `/etc/systemd/system/docker.service` 或 `/etc/init.d/docker`。确认它配置成了开机自启。 2. 使用命令 `sudo systemctl enable docker` (对于Systemd) 或者 `sudo update-rc.d docker defaults` (对于旧版init系统),将Docker服务添加到系统启动流程中。 3. 对于Docker容器本身,你需要创建一个systemd或Upstart(早期版本)的服务单元文件。假设你的容器映射名为 `my-container`,并希望它运行在端口5000上。创建一个新的服务配置文件,比如 `sudo nano /etc/systemd/system/my-container.service` (Systemd)或 `sudo vi /etc/init/my-container.conf` (Upstart)。内容大致如下: ```bash [Unit] Description=My Container Service After=docker.service [Service] ExecStartPre=-/usr/bin/docker kill %n ExecStart=/usr/bin/docker run -p 5000:80 my-image-name Restart=always User=root # 如果需要指定非root用户,替换为用户名 [Install] WantedBy=multi-user.target ``` 4. 保存并关闭文件后,启用这个新服务:`sudo systemctl start my-container.service`(Systemd)或 `sudo service my-container start` (Upstart)。然后设置为开机自启:`sudo systemctl enable my-container.service`(Systemd)或 `sudo update-rc.d my-container defaults` (Upstart)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值