Docker v1.13 新功能介绍

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日

相关文章

  • 解决docker run中使用 ./ 相对路径挂载文件或目录失败的问题

    在 Docker 中使用相对路径挂载本地文件或目录时,可能会遇到无法挂载的问题。这通常是由于 Docker 容器并不知道上层目录中相对路径的存在而造成的。 以下是如何解决这个问题的完整攻略: 问题描述 在 Docker 中使用 docker run 命令时,使用相对路径挂载本地文件或目录时可能会提示文件不存在或权限不足等错误,如下: docker run -…

    Docker 2023年5月16日
    00
  • 向docker镜像中传递变量的两种方式

    测试用到的python文件: #!/usr/bin/env python3 #conding: utf-8 from http.server import HTTPServer, BaseHTTPRequestHandler import json import sys import socket def hostname(): return socket.…

    Docker 2023年4月12日
    00
  • Docker-用LaraDock搭建PHP环境

    简介 LaraDock 致力于简化创建开发环境过程,能够帮助我们在 Docker 上快速搭建 PHP 开发环境。 它预装了 Docker 镜像,为我们提供了一站式的开发环境,而不需要再去在本地机器安装 PHP、Nginx、MySQL 以及其他很多开发过程中需要的软件。 特点: 在 PHP 版本:7.0,5.6.5.5…之中可以简单切换。 可选择你最喜欢的…

    Docker 2023年4月12日
    00
  • Docker搭建HDFS+Spark集群

    启动一个centos容器 docker run -i -t –name hadoop centos /bin/bash 下载好需要的包 [root@CyzLearnCloud sparklearn]# wget –no-check-certificate –no-cookies –header “Cookie: oraclelicense=accep…

    Docker 2023年4月16日
    00
  • Docker部署jar包运行 (luckysheet.jar)

    1、在/usr/local/文件夹下创建文件夹luckysheet-server 2、创建Dockerfile # Docker image for springboot file run # VERSION 0.0.1 # Author: xc # 基础镜像使用java FROM java:8 # 作者 MAINTAINER xc <63178919…

    Docker 2023年4月11日
    00
  • Docker学习5-Dockerfile编写自己的镜像

    前言 Dockerfile 可以自定义编写镜像,简单来说就类似写脚本,shell脚本应该接触不少了,就是一个执行后就完成了。 当然做好的镜像也可以传到镜像仓库,就好像github上面一样存储,一个命令就能照搬下来安装。 一、简介 相信不少朋友会问,为何docker run 一下python就停止了呢?(那执行完了不停止干什么?) 还有为什么我的pip安装,每…

    Docker 2023年4月13日
    00
  • docker java环境 直接做成镜像 跑自己的java包

      yum install docker #基于阿里源 可以直接下载   systemctl restart docker                   ifconfig  #出现 docker0  说明环境部署成功        docker version      #  查看版本       #对于使用 systemd 的系统,请在 /etc/d…

    Docker 2023年4月12日
    00
  • 在Docker上面安装/启动、运行、挂载MySQL5.7

    下载文档请看:https://hub.docker.com/r/mysql/mysql-server 一.下载镜像 执行命令: docker pull mysql/mysql-server:5.7  查看命令:docker images      运行MySQL后台运行并映射到本地端口命令:docker run -d -p 3306:3306 –name …

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