实现docker容器开机自启动

前几天经过docker命令,建立了一个docker容器,运行正常,可是每次重启Centos Linux系统,docker容器就会变成中止状态,linux

image.png


每次系统启动后,须要手动启动的docker容器,命令:docker

docker start 容器IDcentos

image.png


实现Docker容器开机自动启动实际很是简单,由于Docker提供了restart policy机制,能够在容器退出或者Docker重启时控制容器可以自启动。这种Restart policy能够保证相关容器按照正确顺序启动。固然也能够经过进程监控的方式(systemd)来完成这种动做,但Docker建议尽可能避免使用进程监控的方式来 "自启动" 容器。tcp

实现方法:ide

1、在咱们建立容器时经过使用—restart参数来实现,测试

docker run --name adguardhome -v /AdguardHome:/opt/adguardhome/work -v /AdguardHome:/opt/adguardhome/conf -p 53:53/tcp -p 53:53/udp -p 67:67/udp -p 68:68/tcp -p 68:68/udp -p 80:80/tcp -p 443:443/tcp -p 853:853/tcp -p 3000:3000/tcp --restart=always -d adguard/adguardhomespa

--restart具体参数值详细信息以下:rest

no -  容器退出时,不重启容器;blog

on-failure - 只有在非0状态退出时才重新启动容器;进程

always - 不管退出状态是如何,都重启容器;

2、在容器建立后经过update命令实现容器的开机自启动

若是建立时未指定--restart=always ,可经过update 命令设置:

docker update --restart=always 容器名称(或者容器ID)

这样就实现了开机容器自启动。

实际测试,centos linux系统中执行root命令后,进入系统,经过docker ps –a命令查看,docker容器,正常运行。


image.png

相关文章
相关标签/搜索