docker升级时遇到的一些小问题

今天心血来潮把自己的docker升级了一下,记录一下过程!

我的系统是centOS7,docker版本为1.9.1。我尝试yum -y update升级了系统,docker自动升级到了1.10.3版本,当我高高兴兴地以为升级成功,重启docker,发现docker启动不起来了!

查看/var/log/message看到如下信息:

 可以看到docker storage与docker container engine都报错。

注:docker在现在的版本中会默认使用lvm的逻辑卷vg来当作它的存储方式,这里我的系统中没有配置LVM,所以找不到VG,这时它会直接应用本地文件系统当作存储,这里报错不影响。

但是如下报错却一直找不到解决方案,我查看了我的配置/etc/sysconfig/docker,发现我的配置如下:

OPTIONS=‘--selinux-enabled -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store=zk://192.168.1.218:2181,192.168.1.220:2181,192.168.1.207:2181/store --cluster-advertise=192.168.1.120:2375‘

我在启动文件中配置了zookeeper存储,定义了docker的端口等。

当我把配置清空,发现docker启动正常,所以我在想是否是因为我的配置出现问题。当是一添加定义端口的相关配置,docker就启动不起来了。

这时我想到了直接修改启动脚本的方式,把/etc/sysconfig/docker中的启动项直接写到docker的系统启动脚步中:

#vim /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target
Wants=docker-storage-setup.service
[Service]
Type=notify
NotifyAccess=all
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash
ExecStart=/bin/sh -c ‘/usr/bin/docker-current daemon           --exec-opt native.cgroupdriver=systemd           -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store=zk://192.168.1.218:2181,192.168.1.220:2181,192.168.1.207:2181/store --cluster-advertise=192.168.1.121:2375           $OPTIONS           $DOCKER_STORAGE_OPTIONS           $DOCKER_NETWORK_OPTIONS           $ADD_REGISTRY           $BLOCK_REGISTRY           $INSECURE_REGISTRY           2>&1 | /usr/bin/forward-journald -tag docker‘
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
TimeoutStartSec=0
MountFlags=slave
Restart=on-abnormal
StandardOutput=null
StandardError=null
[Install]
WantedBy=multi-user.target

重新启动docker,发现docker启动成功!!

查看docker进程,如下:

 可以发现OPTIONS中配置的选项似乎没有加载进启动程序,不知道这是1.10版本的新特性还是什么?从启动脚本中也可以看到1.10版本中,docker的启动命令也变成了docker-current,这也是与旧版本docker有一个很大的不同。

是不是/etc/sysconfig/docker文件以后就失去作用了呢?希望有大神回答!

时间: 2024-10-13 11:50:36

docker升级时遇到的一些小问题的相关文章

Windows下VMware虚拟机使用Centos,Docker方式安装openstf的小坑

今天使用docker方式安装openstf碰到了一小坑,坑了我半天.特此记录! docker方式安装stf就不说了,网上教程一大把. 但是... 安装完之后.进入web控制界面,手机连接的好好的.但硕大几个字:No Device Connect,然后各种日志查看,甚至不用docker安装,折腾了半天.然并卵没用. 最后发现是vm虚拟机的问题. 看这里: 右下角的这排小图标,那个蓝色的usb,之前是灰的.要点一下连接,然后就好了.真是日了狗了 然后就OK了 好了,记录一下.可能是自己sb了.操!

docker:编排与部署小神器>>Compose概念篇

docker-compose是什么 Compose是定义和运行多容器Docker应用程序的工具. 使用Compose,您可以使用YAML文件来配置应用程序的服务. 然后,使用单个命令,您可以创建并启动配置中的所有服务. Compose适用于所有环境:生产,开发,测试以及CI工作流程.使用Compose基本上是一个三步过程: 使用Dockerfile定义应用程序的环境,以便在任何地方进行复制. 在docker-compose.yml中定义组成应用程序的服务,以便它们可以在隔离的环境中一起运行. 运

Docker容器学习梳理--小知识点补充

之前已经梳理了Docker的相关使用事项,这里再补充一些,以便加深掌握程度.1)docker run指令 [[email protected] ~]# docker run --help : docker run [OPTIONS] IMAGE [COMMAND] [ARG...] Run a command in a new container -a, --attach=[] Attach to STDIN, STDOUT or STDERR --add-host=[] Add a custo

小D课堂 - 新版本微服务springcloud+Docker教程_汇总

小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介 小D课堂 - 新版本微服务springcloud+Docker教程_1_02技术选型 小D课堂 - 新版本微服务springcloud+Docker教程_2_01传统架构演进到分布式架构 原文地址:https://www.cnblogs.com/wangjunwei/p/11434371.html

docker学习

很早听过docker,这两天要部署一个开源的看板应用wekan,用到了docker,所以想顺带深入学习一下docker.首先是思考docker是什么开源的应用容器引擎,快速理解它的概念可以用隐喻:“集中箱”,作为20世纪最重要的发明之一,对世界的影响是巨大的,参考集装箱改变世界 (豆瓣).docker就是集装箱原理,可以实现虚拟机隔离应用环境的功能,开销比虚拟机小,能把开发环境之间封装成镜像,然后直接部署到生产环境,速度快且不容易出问题.如何通俗解释Docker是什么?为什么要用docker,它

.NET Core + docker入门

下载安装docker docker客户端,今天vpn小水管实在是受不了,于是找了国内的下载地址 配置docker加速器 参考博文Docker for windows10 配置阿里云镜像 docker入门 docker入门文档参考 .NET Core + docker 快速上手 详细文档

对Docker的价值和应用场景分析

近年来,Docker在IT界可谓风光十足,各大技术论坛上赚足了眼球,公司内外也有相当多的介绍和尝试,看上去如此高大上的技术,貌似会给云.服务部署.运维等领域带来颠覆性的创新. 近期查阅了一些文档,较深入的了解Docker的技术细节,发现Docker确实在解决部分需求时恰到好处,但也绝对不是无所不能的万金油. 一.什么是Docker 官方定义: Develop, Ship and Run Any Application, Anywhere Docker is a platform for deve

当当网Docker应用实践

随着Docker成为当下热门的容器技术,各大公司以及中小团队都开始选择Docker来进行应用部署,从原有部署方式迁移到Docker方式过程中难免会遇到各种问题,本次分享主要介绍当当网个性化推荐组应用Docker进行应用部署以及小团队试水Docker的的若干经验,分享主要包括以下几点: 现有应用Docker化的过程Docker化的过程 结合Jenkins的自动化构建 使用Mesos和Marathon的自动化部署与集群管理 大家好,非常高兴能有这样的机会跟大家交流. 我是当当网个性化推荐组项目负责人

容器虚拟化——docker 详解

本文主要是对 Docker 的以下内容进行详细介绍: 1.Docker简介 2.Docker安装 3.Docker镜像管理 4.Docker容器管理 5.Docker仓库管理 6.Docker数据管理 7.Docker网络管理 一.Dokcer简介 Docker 是一个开源项目, 诞生于2013年初, 最初是 dotCloud 公司后改名为 Docker lnc内部的一个业余项目. 它基于Google 公司推出的 Go 语言实现.项目后来加入了 Linux 基金会, 遵从了 Apache 2.0