一、docker服务设置自动启动
systemctl list-units --type=service 查看已启动的服务
systemctl list-unit-files | grep enable 查看是否设置开机启动
systemctl enable docker.service 设置开机启动
systemctl disable docker.service 关闭开机启动
二、docker容器设置自动启动
启动时加--restart=always
直接启动的可以这样:
docker run -tid --name isaler_v0.0.11 -p 8081:8080 --restart=always -v /alidata/iDocker/run/projectImages/isaler/v0.0.11/log:/usr/local/tomcat/logs isaler_v0.0.11
Flag Description
no 不自动重启容器. (默认value)
on-failure 容器发生error而退出(容器退出状态不为0)重启容器
unless-stopped 在容器已经stop掉或Docker stoped/restarted的时候才重启容器
always 在容器已经stop掉或Docker stoped/restarted的时候才重启容器
有yml文件的是这样:
version: '3'
services:
mocktest:
environment:
- TZ=Asia/Shanghai
container_name: mocktest
image: openjdk:8
ports:
- 8885:8885
volumes:
- /usr/localjar/jarfile/ccb-test-0.0.1-SNAPSHOT.jar:/app/ccb-test-0.0.1-SNAPSHOT.jar
command: java -jar /app/ccb-test-0.0.1-SNAPSHOT.jar
restart: always # 设置容器始终在停止时和启动时重启 (注意与deploy平级)
deploy:
replicas: 1 # 设置服务的副本数量为 1,表示只部署一个实例
resources: # 资源限制配置
limits: # 设置容器的资源限制
cpus: "0.3" # 设置该容器最多只能使用 30% 的 CPU
memory: 2048M # 设置该容器最多只能使用 2G 的内存空间
reservations: # 设置为容器预留的系统资源(随时可用)
cpus: "0.2" # 为该容器保留 20% 的 CPUpw
memory: 2048M # 为该容器保留 2G 的内存空间
update_config:
parallelism: 1 # 设置同时进行更新的容器实例数量为 1
delay: 10s # 设置容器更新之间的延迟为 10 秒