标签分类
当前位置:首页 > 操作系统电子书 > Docker电子书网盘下载
高性能Docker 高性能Docker
码小辫

码小辫 提供上传

资源
35
粉丝
11
喜欢
208
评论
5

    高性能Docker PDF 高清版

    Docker电子书
    • 发布时间:

    给大家带来的一篇关于Docker相关的电子书资源,介绍了关于高性能、Docker方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小59.2 MB,艾伦·埃斯皮诺萨编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.5,更多相关的学习资源可以参阅 操作系统电子书、等栏目。

  • 高性能Docker PDF 下载
  • 下载地址:https://pan.baidu.com/s/1BKEQtoJ6vdVGSpqQvrm8oA
  • 分享码:sl32
  • 高性能Docker

    内容介绍

    高性能Docker》共有8 章,致力于协助小读者改进其Docker 工作流引擎,并确保运用在环境中顺利开展。

    《高性能Docker》中简易回望了Docker 是怎样工作中的。除开Docker 的基本知识外,小读者还会学得怎样提升Docker基础架构和规模性运用。《高性能Docker》最终解读的怎样在基础架构中布署监控器和常见故障清除系统软件,也是能够让小读者尽快将学得的Docker 的特点、定义等应用到实践活动中。

    当你针对管理方法Docker 服务项目和Linux 文件系统有充足的了解,并期待提升你的Docker 器皿,那《高性能Docker》将适合你。

    这书适用有必须Docker基本的开发人员、系统架构师、it互联网技术专业大学生及其探寻应用场景Docker搭建云计算平台的专业技术人员

    目录

    • 1 准备Docker 宿主机 1
    • 2 优化Docker 镜像 15
    • 3 用Chef 自动化部署Docker 39
    • 4 监控Docker 宿主机和容器 57
    • 5 性能基准测试 77
    • 6 负载均衡 95
    • 7 容器的故障检测和排除 107
    • 8 应用到生产环境 121

    读书笔记

    Docker使用 Maven 插件构建镜像的方法

    通过 Maven 的 Docker 插件可以构建 Docker 镜像

    快速入门

    在 pom.xml 中添加 Docker 插件

    <plugin>
      <groupId>com.spotify</groupId>
      <artifactId>docker-maven-plugin</artifactId>
      <version>0.4.13</version>
      <configuration>
        <imageName>linyuantongxue/docker-demo:0.0.1</imageName> // 指定镜像名称,linyuantongxue 是仓库名称(对应 DockerHub 用户名),docker-demo 是镜像名称(对应 DockerHub 仓库名),0.0.1 是标签名称(相当于版本号)
        <baseImage>java</baseImage>   // 指定基础镜像,等同 FROM 指令
        <entryPoint>["java","-jar","app.jar"]</entryPoint>    // 等同于 ENTRYPOINT 指令
        <resources>
          <resource>
            <targetPath>/</targetPath> 
            <directory>${project.build.directory}</directory>  // 指定要复制的根目录,${project.build.directory} 表示 target 目录
            <include>${project.build.finalName}.jar</include>  // 指定要复制的文件,${project.build.finalName}.jar 指打包后的 jar 文件
          </resource>
        </resources>
      </configuration>
    </plugin>

    执行以下命令构建 Docker 镜像

    mvn clean package docker:build

    执行 docker images 查看刚才构建的镜像

    读取 Dockerfile 文件

    读取 Dockerfile 文件就不必指定 baseImage 和 entrypoint

    <plugin>
      <groupId>com.spotify</groupId>
      <artifactId>docker-maven-plugin</artifactId>
      <version>0.4.13</version>
      <configuration>
        <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>   // 指定要读取的 Dockerfile 文件
        <imageName>linyuantongxue/docker-demo:0.0.1</imageName> // 指定镜像名称,linyuantongxue 是仓库名称(对应 DockerHub 用户名),docker-demo 是镜像名称(对应 DockerHub 仓库名),0.0.1 是标签名称(相当于版本号)
        <resources>
          <resource>
            <targetPath>/</targetPath> 
            <directory>${project.build.directory}</directory>  // 指定要复制的根目录,${project.build.directory} 表示 target 目录
            <include>${project.build.finalName}.jar</include>  // 指定要复制的文件,${project.build.finalName}.jar 指打包后的 jar 文件
          </resource>
        </resources>
      </configuration>
    </plugin>
    

    将插件绑定在某个 phase 执行

    很多场景下有这样的需求,比如执行 mvn clean package 时插件就自动构建 Docker 镜像,要实现这点只需要将插件的 goal 绑定在某个 phase 即可

    maven 命令格式是:mvn phase:goal,phase 绑定了目标的构建生命周期阶段,goal 配置的执行目标

    只需添加如下配置:

    <plugin>
      <groupId>com.spotify</groupId>
      <artifactId>docker-maven-plugin</artifactId>
      <version>0.4.13</version>
      // 在 maven 生命周期 package 中执行 build 构建目标
      <executions>
        <execution>
          <id>build-image</id>
          <phase>package</phase>
          <goals>
            <goal>build</goal>
          </goals>
        </execution>
      </executions>
      // $$$$$$$$$$$$$$$$华丽的分割线$$$$$$$$$$$$$$$$
      <configuration>
        <imageName>linyuantongxue/docker-demo:0.0.1</imageName>
        <baseImage>java</baseImage>
        <entryPoint>["java","-jar","app.jar"]</entryPoint>
        <resources>
          <resource>
            <targetPath>/</targetPath>
            <directory>${project.build.directory}</directory>
            <include>${project.build.finalName}.jar</include>
          </resource>
        </resources>
      </configuration>
    </plugin>
    

    推送镜像

    使用 Maven 插件也可以推送镜像到 Docker Hub

    修改 Maven 全局配置信息文件 settings.xml,配置 Docker Hub 用户信息

    <servers>
      <server>
        <id>docker-hub</id>
        # DockerHub 该网站的用户名必须全部为小写才正确
        <username>linyuantongxue</username>
        <password>765371578Ly</password>
        <configuration>
          <email>765371578@qq.com</email>
        </configuration>
      </server>
    </servers>
    

    修改 pom 文件

    <plugin>
      <groupId>com.spotify</groupId>
      <artifactId>docker-maven-plugin</artifactId>
      <version>0.4.13</version>
      <configuration>
        <imageName>linyuantongxue/docker-demo:0.0.1</imageName>
        <baseImage>java</baseImage>
        <entryPoint>["java","-jar","app.jar"]</entryPoint>
        <resources>
          <resource>
            <targetPath>/</targetPath>
            <directory>${project.build.directory}</directory>
            <include>${project.build.finalName}.jar</include>
          </resource>
        </resources>
        <!--与配置文件 setting.xml 中的 server.id 一致,用于推送镜像-->
        <serverId>docker-hub</serverId>
      </configuration>
    </plugin>
    

    执行以下命令,添加 pushImage 标识,表示推送镜像

    mvn clean package docker:build -DpushImage

    上面例子中通过 imageName 指定镜像名称和标签,也可以借助 imageTags 元素更为灵活的指定镜像名称和标签,这样就可以为同一个镜像指定两个标签

    <configuration>
      <imageName>linyuantongxue/docker-demo</imageName>
      <imageTags>
        <imageTag>0.0.1</imageTag>
        <imageTag>latest</imageTag>
      </imageTags>
    </configuration>
    

    也可在构建命令时使用 dockerImageTags 参数指定标签名称

    复制代码 代码如下:

    mvn clean package:build -DpushImageTags -DdockerImageTags=latest -DdockerImageTags=another-tag

    若需要重复构建相同标签名称的镜像,可将 forceTags 设置为 true

    <configuration>
      // .......
      <forceTags>true</forceTags>
    </configuration>

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

    上一篇:Solr实战  下一篇:Python数据处理

    展开 +

    收起 -

    码小辫二维码
     ←点击下载即可登录

    Docker相关电子书
    学习笔记
    网友NO.973193

    Docker使用 Maven 插件构建镜像的方法

    通过 Maven 的 Docker 插件可以构建 Docker 镜像 快速入门 在 pom.xml 中添加 Docker 插件 plugin groupIdcom.spotify/groupId artifactIddocker-maven-plugin/artifactId version0.4.13/version configuration imageNamelinyuantongxue/docker-demo:0.0.1/imageName // 指定镜像名称,linyuantongxue 是仓库名称(对应 DockerHub 用户名),docker-demo 是镜像名称(对应 DockerHub 仓库名),0.0.1 是标签名称(相当于版本号) baseImagejava/baseImage // 指定基础镜像,等同 FROM 指令 entryPoint["java","-jar","app.jar"]/entryPoint // 等同于 ENTRYPOINT 指令 resources resource targetPath//targetPath directory${project.build.directory}/directory // 指定要复制的根目录,${project.build.directory} 表示 target 目录 include${project.build.finalName}.jar/include // 指定要复制的文件,${project.build.finalName}.jar 指打包后的 jar 文件 /resource /resources /configuration/plugin 执行以下命令构建 Docker 镜像 mvn clean package docker:build 执行 docker images 查看刚才构建的镜像 读取 Dockerfile 文件 读取 Dockerfile 文件就不必指定 baseImage 和 entrypoint plugin groupIdcom.spotify/groupId artifactIddocker-maven-plugin/artifactId version0.4.13/version configuration dockerDirectory${project.basedir}/src/main/docker/dockerDirectory // 指定要读取的 Dockerfile 文件 imageNamelinyuantongxue/docker-demo:0.0.1/imageName // 指定镜像名称,linyuantongxue 是仓库名称(对应 D……

    网友NO.729379

    详解springboot项目docker部署实践

    网上查了下大部分boot项目部署都是在linux和docker hub环境下完成的,由于本人开发环境在windows下面,并且docker容器也是使用的docker tools,而且也没有做docker hub的加速。所以就尝试在windows环境下利用阿里云docker仓库完成部署。 1、在docker tools 中新建文件夹,并且找到位置,然后把打包好的boot jar文件放入新建的文件夹中 在该文件夹下面新建一个Dockerfile文件,示例如下: FROM daocloud.io/java:8COPY letou-0.0.1-SNAPSHOT.jar app.jarEXPOSE 8080ENTRYPOINT ["java","-jar","/app.jar","--spring.profiles.active=prod"] 使用docker build命令创建容器 docker build -t spring-boot-docker-cloudcomb:0.1.0 . 2 将容器上传到阿里云 进入阿里云镜像服务链接,点击创建我的容器镜像,再点击创建镜像仓库。代码源这里选择本地仓库 创建完之后,按照阿里云的操作指南在docker tools中操作 登录阿里云docker registry:$ sudo docker login --username=阿里云镜像仓库的用户名 registry.cn-hangzhou.aliyuncs.com登录registry的用户名是您的阿里云账号全名,密码是您开通namespace时设置的密码。你可以在镜像管理首页点击右上角按钮修改docker login密码。将镜像推送到registry:$ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/命名空间/仓库名称:[镜像版本号]$ sudo docker push registry.cn-hangzhou.aliyuncs.com/命名空间/仓库名称:[镜像版本号]其……

    网友NO.779586

    Docker搭建自己的PHP开发环境

    1. 前言 1.1 为什么要用Docker ? 是否有这样的场景,你搞了一个项目,在本地开发时需要搭建环境,放到线上时也需要搭建环境,到公司想暗戳戳玩一下要搭建环境,不搭还不行,因为你的环境依赖还挺多。这个时候如果有了Docker,只需要在机器上装个Docker,放上写好的Dockerfile,一行命令就自动完成这个事,方便又高效,岂不是很爽? 1.2 准备 接下来,本文介绍如何搭建一个PHP的开发环境,将用 zPhal-dockerfiles 做为例子,这是我为我的博客系统准备的一套Dockerfile。 现在不管是Windows、Mac还是Linux,Docker都可以很好支持,包括Windows系统,在Win 10系统下Docker for Windows 其实还是挺不错的,就是比较吃内存。 通过Docker命令行,我们可以做很多事情,拉取镜像,运行容器,容器内执行命令等,但是现在,我们要用更加简单粗暴的方式,编写好Dockerfiles文件,然后通过docker-compose管理好这些文件,简化操作流程。 什么是Dockerfile? Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于拉取的基础镜像并最终创建一个新的镜像,通过Dockerfile我们可以创建一个你需要的镜像,里面是包含了你要安装的软件,相当于是提前定制好要安装的拓展,执行的命令等,然后一键执行,极大地简化操作流程。 按照本文来搭建环境,你需要: 首先了……

    网友NO.142599

    Docker mysql 主从配置详解及实例

    Docker mysql 主从配置 1、首先创建两个文件my-m.cnf(主库配置) 、my-s.cnf(从库配置) my-m.cnf 内容如下 # Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.## This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; version 2 of the License.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA## The MySQL Community Server configuration file.## For explanations see# http://dev.mysql.com/doc/mysql/en/server-system-variables.html[client]port = 3306socket = /var/run/mysqld/mysqld.sock[mysqld_safe]pid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.socknice = 0[mysqld]user = mysqlpid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockport = 3306basedir = /usrdatadir = /var/lib/mysqltmpdir = /tmplc-messages-dir = /usr/share/mysqlexplicit_defaults_for_timestamplog-bin = mysql-bin server-id = 1 # Instead of skip-networking the default is now to listen only on# localhost which is more compatible and is not less……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明