Docker v1.13 新功能介绍

yizhihongxing

Docker v1.13 新功能介绍

Docker v1.13发布了,本文将介绍其新功能,并提供两个示例来说明如何使用这些新功能。

新功能

1.重启策略

在Docker v1.13中,您可以使用新的--restart标志指定容器如何在重启时启动。默认情况下,不指定任何重启策略。这意味着在Docker重启时,容器将保持停止状态。

以下是可用的重启策略:

  • no - 不重启容器。这是默认策略。
  • always - 总是重启容器。
  • on-failure - 只有在退出代码为非零值时才重启容器。
  • unless-stopped - 除非显式停止容器,否则总是重启容器。

2.延迟启动

Docker v1.13引入了--health-cmd--health-interval标志,这些标志允许您在Docker启动容器之前设置健康检查。它有助于避免在发生故障时完全启动不良容器。

3.命名管道

Docker v1.13还引入了命名管道,允许您方便地访问容器内的命名管道。只需使用--named-pipes标志启动容器,并以Windows命名管道格式指定路径即可。

示例1 - 重启策略

让我们首先演示如何使用新的重启策略标志。

步骤1 - 启动一个容器:

docker run -it --name restart_test ubuntu:latest

步骤2 - 给容器添加一个退出脚本:

echo 'echo "Container stopped"' >> /root/.bashrc

步骤3 - 退出容器:

exit

步骤4 - 使用不同的重启策略启动容器:

docker run -it --restart=no restart_test
docker run -it --restart=always restart_test
docker run -it --restart=on-failure:3 restart_test
docker run -it --restart=unless-stopped restart_test

在这个例子中,我们在步骤2中给容器添加了一个退出脚本,当容器停止时会执行。我们使用了四种不同的重启策略来启动该容器,您可以看到基于重启策略的不同行为。

4. 示例2 - 延迟启动

让我们演示如何使用健康检查功能来延迟启动容器。

步骤1 - 创建一个简单的健康检查镜像:

echo 'exit 0' > /healthcheck.sh
chmod +x /healthcheck.sh

docker build -t healthcheck_test - <<EOF
FROM debian:latest
COPY healthcheck.sh /
HEALTHCHECK CMD /healthcheck.sh
EOF

步骤2 - 启动容器:

docker run -it --health-cmd=/healthcheck.sh --health-interval=5s healthcheck_test bash

在这个例子中,我们创建了一个健康检查镜像,它将5秒钟运行一次healthcheck.sh脚本,来判断容器的运行状况。在步骤2中,我们启动容器,并使用--health-cmd--health-interval标志指定检查和检查间隔。这将延迟容器的启动,直到它被认为是健康的。

结论

Docker v1.13为容器的重启和启动提供了更好的控制,同时也提供了更高级的健康检查功能。我们希望本文提供的示例能够帮助您更快地上手和掌握这些新功能。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker v1.13 新功能介绍 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • 【JVM故障问题排查心得】「内存诊断系列」Xmx和Xms的大小是小于Docker容器以及Pod的大小的,为啥还是会出现OOMKilled?

    为什么我设置的大小关系没有错,还会OOMKilled? 这种问题常发生在JDK8u131或者JDK9版本之后所出现在容器中运行JVM的问题:在大多数情况下,JVM将一般默认会采用宿主机Node节点的内存为Native VM空间(其中包含了堆空间、直接内存空间以及栈空间),而并非是是容器的空间为标准。 堆内存和VM实际分配内存不一致 -XshowSetting…

    Docker 2023年4月11日
    00
  • Docker Machine远程部署Docker的方法

    下面是关于Docker Machine远程部署Docker的完整攻略: 1. 安装Docker Machine 首先,需要在本地机器上安装Docker Machine。可以使用Docker官方提供的安装脚本进行安装,如下所示: $ curl -L https://github.com/docker/machine/releases/download/v0.1…

    Docker 2023年5月16日
    00
  • Docker系列器九:docker-compose与docker-compose.yml语法

    一般情况下:docker 安装wordpress,流程是:docker run -d –name mysql -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=wordpress mysql docker run -d -e WORDPRESS_DB_HOS…

    Docker 2023年4月13日
    00
  • docker-compose.yml 语法说明

    YAML 模板文件语法 默认的模板文件是 docker-compose.yml,其中定义的每个服务都必须通过 p_w_picpath 指令指定镜像或 build 指令(需要 Dockerfile)来自动构建。其它大部分指令都跟 docker run 中的类似。如果使用 build 指令,在 Dockerfile 中设置的选项(例如:CMD, EXPOSE, …

    Docker 2023年4月13日
    00
  • Docker(四)——迁移与备份、导入与导出、Dockerfile、Docker私有仓库、私服的使用(本地拉取和远程拉取)、将镜像上传至dockerhub官网

    一、迁移与备份 本质就是把安装好应用的容器打包成镜像,提供给其他机器使用,别的机器只需要load回来,就能看到image–run起来,直接容器就跑起来了。 1.通过以下命令将容器保存为镜像: docker commit mycentos7 centos7my #docker commit 容器名 新的镜像名 打包之后查看镜像会发现新的镜像centos7my…

    Docker 2023年4月13日
    00
  • Docker Stack 部署web集群的方法步骤

    下面是关于“Docker Stack 部署web集群的方法步骤”的完整攻略: 1. Docker Stack 基础知识 Docker Stack 是 Docker 官方提供的 Swarm 模式下的应用编排工具,用于在分布式系统中高效地部署、升级和扩展分布式应用程序。 Docker Stack 能够将多个 Docker 容器组成的应用服务统一部署,只需要一个简…

    Docker 2023年5月16日
    00
  • 使用 docker-compose 安装 php 运行环境 —— network 的方式

    官方手册明确说明,容器互联不要采用 link 的方式,而应该采用 network 的方式。   以下演示的以 centOS 上为例,如果你在 mac 上,就需要注意一下路径问题,mac 下一班把文件什么的放在用户目录下。 直接上步骤: 1、centOS下需要升级 yum —— 不然可能会有一些神经病的错误发生 yum update 2、将已经写好的 yml …

    Docker 2023年4月11日
    00
  • 彻底搞懂Docker镜像分层的实现

    我来详细讲解“彻底搞懂Docker镜像分层的实现”的完整攻略。 什么是Docker镜像分层 首先,我们需要了解Docker中镜像的概念。Docker镜像是一个只读模板,用于创建Docker容器。每个Docker镜像都由若干个分层构成,每个分层都可以看作是Docker容器文件系统的一个快照。每个分层只包含该层所做的更改。因此,每个镜像只包含对上一层的更改。 D…

    Docker 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部