如何设置docker容器和容器中的应用开机自启动?
在使用dockerrun启动容器时,使用--restart参数来设置:
#dockerrun-m512m--memory-swap1G-it-p58080:8080--restartalways
--namebvrfis--volumes-fromlogdatamytomcat:4.0
--restart具体参数值详细信息:
no-容器退出时,不重启容器;
on-failure-只有在非0状态退出时才从新启动容器;
always-无论退出状态是如何,都重启容器;
Docker容器内应用服务自启动
如果想把Docker容器内的应用服务随着容器开启时自启动。只需要将服务启动的脚本写在Dockerfile里,然后用Dockerfile重构镜像即可实现:
编写应用服务自启动脚本
编写Dockerfile
重构镜像
开启容器
容器开发是什么?
容器即服务,英文全称Container-as-a-Service,简写CaaS,它提供一种上传、运行、扩展以及管理应用程序容器的方法。这类服务全面提供执行这些功能的API或CLI,有些甚至提供GUI或Web门户。这里的容器可以是多种不同类型,包括Docker、LXD以及OpenVZ等等。听起来似乎跟PaaS差不了多少,但二者也有一些区别。下面我们从概念出发,看看二者之间的差异所在。
平台即服务(PaaS),以IaaS为基础构建而成。此外,也有一部分PaaS供应商也开始以CaaS作为服务基础。
从传统意义出发,PaaS解决的是应用程序的托管、打包与分发问题,强调零停机时间部署、自动规模伸缩与负载均衡功能。此外,它还可以集成多种开发人员工具以及运行状态与指标统计信息。PaaS的核心优势之一,在于开发人员可以轻松构建应用程序,而不再分神于应用程序运行所处的具体环境。像CloudFoundry,Heroku以及GoogleAppEngine等,都属于典型的PaaS供应商。
而CaaS提供一种轻松快捷的容器部署。它还能够保证全面完善的可移植性,确保容器能够在几乎任何位置上运行。CaaS还提供用于容器乃至容器集群的配置及管理功能。
从表面上看,CaaS与PaaS好像没什么不同。二者都管理着应用程序的部署与托管任务,而且基本功能也区别不大。PaaS的不少优势,都可以通过使用容器镜像加容器注册表的实现。此外,Kubernetes能够帮助用户滚动部署并实现负载均衡与自动规模伸缩。典型的CaaS解决方案包括GoogleKubernetesEngine(GKE)与AzureContainerService。