docker开机启动失败_docker使用的几条建议

1 docker文件迁移

项目部署时docker默认安装到了”/”根目录下,根目录下分配的空间有限,随着镜像构建的增多,根目录空间会严重不足。为了释放根目录空间,同时又不影响docker的正常工作,可以通过如下方法解决:

#centos系统为例说明,假设空间大的目录为/data

systemctl stop docker

mv /var/lib/docker /data

ln –s /data/docker /var/lib/docker

systemctl start docker

执行完上述操作后,根目录下的空间能够释放,docker服务也已正常启动。

2 docker服务开机自启动

有的童鞋也许认为开机自启动很简单,只需要开机时执行特定的脚本就行,但我要推荐的并不是这种方式。我推荐的方式是即使只有一台宿主机,也安装docker swarm来发布docker服务,以docker swarm发布的docker服务不仅能够开机自启动还能够在服务被kill之后自动重启。感兴趣的童鞋不妨一试!

3 Dockfile镜像构建tips:竟可能减少镜像构建的层数,如果一个镜像需要不止一次改动后再次构建,把需要变动的操作放到Dockerfile的最后,这样可以有效利用docker的缓冲,减少镜像再次构建的时间。

4 巧用docker container prune

我们在停止docker服务后,一般都不会习惯性地删除容器,需要删除时可能会用docker ps –a | grep Exited 找到对应的容器id,然后用docker rmi containerid删除掉容器。更便捷的方式是,我们可以用docker container prune来一次性删除所有的已停止的容器。

5 less输出美化

如下图所示,我们在运行一些docker ps命令后,输出的信息会出现跨行展示,过多的换行会使我们眼花缭乱。

adcf0d8174a2f17e621e58ce61502037.png

我们可以用docker ps | less –S来使docker ps以行为单位输出,命令执行后效果如下:

b38cbffff4596c59f5a2e8bfa03f7278.png

这时我们可以左右移动以行为单位来查看每一个容器的信息。

6 慎用commit

创建镜像的时候不要用“docker commit”命令来创建。用这种办法建镜像是完全不可取的,因为这种办法是不能重复的。我们在建镜像的时候应该从Dockerfile创建,或者用其他S2I(从源文件构建镜像)的方式来创建,这样镜像才具有可再生性,而且如果我们把镜像存在git之类提供版本控制能的系统里的话,还可以对Dockerfile的改动进行跟踪。

5 不用在一个容器中运行多个应用

如果将多个服务运行到一个容器中,将给服务的运维带来极大的不便。或许多个应用的日志输出就会令你很头疼!

Ref:

http://www.dockone.io/article/1264

本篇内容在本人个人公众号上也已发布,欢迎关注本人微信公众号“勤菜鸟”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值