Docker容器开机自动启动(在宿主机重启后或者Docker服务重启后)

简介:

一、环境介绍
系统版本:CentOS6.7 X64
内核版本:2.6.32-573.18.1.el6.x86_64


二、测试过程
使用在Docker run的时候使用--restart参数来设置。

no - container:不重启
on-failure - container:退出状态非0时重启
always:始终重启

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@docker ~] # docker run -i -t -d --name centos_aways --restart=always centos
e278cabec91e36f5582d92ba3ddb95ac17a0c2c59d8cdcc60791a28075e8abce
[root@docker ~] # docker ps -l
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
e278cabec91e        centos               "/bin/bash"          5 seconds ago       Up 4 seconds   
[root@docker ~] # init 6
[root@docker ~] # docker ps -l
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
e278cabec91e        centos               "/bin/bash"          3 minutes ago       Up About a minute
 
Docker服务重启后,查看添加了“--restart=always”参数的容器能否自动启动
[root@docker ~] # /etc/init.d/docker stop
Stopping docker:                                           [  OK  ]
[root@docker ~] # /etc/init.d/docker start
Starting docker:                                      [  OK  ]
[root@docker ~] # docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
14caa9ab03a9        dockerui /dockerui    "/dockerui"          11 minutes ago      Up 3 seconds        0.0.0.0:9000->9000 /tcp    dockerui_qinwen     
e278cabec91e        centos               "/bin/bash"          About an hour ago   Up 3 seconds                                 centos_aways

 

三、注意事项:
1.用docker自带的--link把多个容器链接在一起,有重启或升级的问题,比如很多容器都依赖于 db 这个容器,然后db容器重启了,重启时docker分配的ip会变,导致其他依赖于db的容器都要重启。

2.--link 链接的容器还有启动顺序的问题, 需要先启动db容器再启动其他依赖于db的容器, 这样导致 --link和--restart=always 不能一起用, 如果一起用会发现宿主机重启了, docker容器并没有全部重启,
3.因为这时候docker容器是同时被启动的,并不知道启动顺序。 最后决定不用 --link 链接容器了。










本文转自 冰冻vs西瓜 51CTO博客,原文链接:http://blog.51cto.com/molewan/1743902,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
503 5
|
2月前
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
237 6
|
3月前
|
缓存 前端开发 Docker
Docker Layer Caching:加速你的容器构建
Docker Layer Caching:加速你的容器构建
|
4月前
|
运维 持续交付 开发者
Docker:重塑现代应用开发的容器革命
Docker:重塑现代应用开发的容器革命