搜索结果
0000-00-00
经常在各种 docker命令里看到--label ,label 是什么?干什么用的?
label 是键值对,是metadata ,是贯穿于
docker各个资源的,包括引擎、镜像、容器、卷、网络、swarm 节点、服务等。键key :格式要求只可以包含字母和数字,以及. ,- 。推荐使用类似于java 那种反向域名格式,如com.example.mytag 。值value :格式必须是字符串,除了普通字符串外,还可以是json xml csv 或者yaml
0000-00-00
我的 docker版本是1.12 ,请问我跑的是一代swarm 还是二代swarm 啊?
自己运行的swarm 怎么会连自己都不知道跑的是啥?首先,至于是运行的一代swarm 还是二代swarm ,单看版本是没意义的。
docker1.12 的版本同时支持一代swarm 和二代swarm 。如果是使用容器形式运行的swarm ,也就是
dockerrun swarm 形式构建的swarm ,这是一代swarm ,也被称为
dockerswarm 。如果是使用内置命令形式构建
;volume-opt :不同的卷驱动可能需要额外的参数,这个选项可以指定这
些参数。--mount 和--volume 有一
些差异需要注意:--mount 可以直接使用卷,而无需事先使用
dockervolume create 来创建卷,并且可以多组不同驱动的卷;--mount 如果type bind 的话,宿主必须存在指定目录,否则报错。而--volume 则在宿主不存在该路径时,在
因为
dockerrun 和
dockerservice create 是两个不同理念的东西。一代swarm 中,将swarm 集群视为一个巨大的
docker主机,本质上和单机没
有区别,都是直接调度运行容器。因此依旧使用单机的
dockerrun 的方式来启动特定容器。二代swarm 则改变了这个理念,增
加了服务栈stack 、服务service 、任务task 的概念。在二代swarm 中
使用了一段时间二代swarm 后,特别是维护了几次服务后,会发现
dockerservice ps 中显示了很多之前失败的容器记录,很是烦人。
dockerservice ps web                                                                                                       e641012 name                     image
0000-00-00
怎么才能让 dockerservice create 创建的服务正常退出时不重启啊?
有些时候会
有这样的需求,比如服务是由应用层的
远程控制指令关闭的,这种进程退出是正常行为,并非错误。但是默认情况下,只要容器退出,引擎就视为异常,就会尝试重新调度启动这个容器。这会导致明明关了的服务,又被启动了。这种情况可以使用--restart-condition on-failure 参数,这样
0000-00-00
装完 dockertoolbox 后发现下载镜像速度太慢,是不是需要修改什么配置文件?
安装
dockertoolbox 时,安装程序会使用docker-machine 为你创建一个名为default 的虚拟机:docker-machine create -d virtualbox default 这个虚拟机没
有加任何参数,因此对于拥
有伟大的墙的国内网络来说,
有些不方便使用。所以最简单的做法是在安装完
dockertoolbox 后,删掉默认的虚拟机,然后重新创建该虚拟机,创建时
加入
有中国特色的配
其实在最初创建该
dockerhost 时,就可以利用docker-machine 指定引擎配置参数,如果不要紧,可以直接rm 掉这个虚拟机,重新建立。如果不方便rm 掉这个虚拟机,可以docker-machine ssh 进入这个虚拟机,然后修改/var/lib/boot2docker/profile 文件,修改里面的extraargs 参数即可。
只允许密钥登录(也就是很多国内文章称为的免密登录,其实并非免密)。因此,使用密钥/.docker/machine/machines/< 机器名> /idrsa 登录即可。ssh -i /.docker/machine/machines/default/idrsa -o userknownhostsfile /dev/null -o stricthostkeychecking no
dockerdocker-machine ip default 这个例子中连接的是default 这个机器,需要连接其它的机器换成别的即可。另外的两个-o 的参数是让其不要校验服务器密钥,这当然

