Archives : August-2019

更新日期:2019年08月08日

注意事项

磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失![……]

Read more

更新日期:2019年07月10日

Version v1.5.3-9a630207

简单介绍

一种开源、可信、云原生的Registry项目,用于存储、签名、扫描内容。

Harbor,通过添加用户通常需要的功能(如安全性,身份,管理)来扩展开源「Docker Distribution」。 ”拥有靠近构建和运行环境的Registry“可以提高镜像传输效率。 Harbor,支持在Registry之间复制映像,还提供高级安全功能(如用户管理,访问控制,活动审计)。

Harbor – 高级版的Registry服务

相关连接

访问官网:https://goharbor.io[……]

Read more

更新日期:2019年08月20日

内容简介

这一部分都是与Shell编程有关的内容。写出可移植性高的脚本是一个非常重要的目标。

起初这个分类是为UNIX Shell准备的,现在(08/20/2019)开始也准备加入一些PowerShell相关的技术。

章节列表

这部分的内容主要是关于编程语言的学习。既然是编程语言的学习,自然也就逃不开编程语言的那一套:变量,数组,类型函数等等概念。

这里的章节分类模仿了BASH手册的第三章:

3.1 Shell Syntax
3.2 Shell Commands
3.3 Shell Functions
3.4 Shell P[……]

Read more

更新日期:2019年07月10日

编配,大概描述了自动配置、协作、管理服务的过程。

在Docker中,编配用于描述一组实践过程,这个过程会管理运行在多个Docker容器里的“应用”,而这些Docker容器有可能运行在多个宿主机上。

编配工具分为三类:

简单的容器编配工具:比如Docker Compose(前身为Fig)

分布式服务发现:比如Consul,由Go语言开发。

Docker的编配和集群:比如Swarm,由Go语言编写,由Docker公司开发。

后面主要介绍这三类工具。

#2 Consul

演示配合Consul的分布式应用使[……]

Read more

更新日期:2019年07月10日

#1 测试静态网站(单个容器)

(1)创建Dockerfile并使用该Dockerfile创建镜像。

(2)从该镜像中启动容器。启动时,将本地卷挂载到容器中(通过-v选项)。

(3)修改本地卷中的文件,访问容器来查看。

#2 构建并测试Web应用程序(多个容器)

# 示例一、接收URL参数,并以JSON返回
老路子:使用Dockerfile创建容器。启动一个容器,并使用-v挂载外部卷。访问容器来测试。

# 示例二、连接Redis服务,存储输入的URL参数
创建一个项目,项目中连接Redis服务,Host: db,Post:[……]

Read more

更新日期:2019年07月10日

# Harbor API

「How to Browse and Query Harbor Registry using REST API」

在Harbor的GitHub仓库中的「docs/swagger.yaml 1.5.3」为Harbor的API文档。

复制到“http://editor.swagger.io”中进行显示。

# Harbor CLI

https://github.com/int32bit/python-harborclient

迁移Harbor到Kubernetes中

「Integration with[……]

Read more

更新日期:2019年07月10日

「Engine API version history」

之前通过在命令行中调用Docker命令,但是这不是理想的方案。Docker提供了API,可以通过API来操作Docker进行服务集成。

首先将Docker服务绑定到网络端口,然后通过HTTP API来控制Docker服务。

最后使用TLS进行认证。

# 三种「API」

在Docker中有三种API:

Registry API:用于与Registry服务集成。
Docker Hub API:用于与Docker Hub集成。
Docker Remote API:用于与[……]

Read more

更新日期:2019年07月19日

清除未使用的卷

「How To Remove Docker Containers, Images, Volumes, and Networks」
清除没有使用的卷:docker system prune –volumes

从镜像中还原Dockerfile文件

-「How to generate a Dockerfile from an image?」
从镜像中生成Dockerfile文件:

#!/bin/sh

docker pull centurylink/dockerfile-from-image
alias dfimage=”do[……]

Read more

更新日期:2019年07月10日

目前,在容器中使用代码有以下几种方式:

容器启动时:RUN git clone …

镜像构建时:COPY . /whatever

容器运行时:docker run -v $(pwd):/whatever/

那到底应该使用那种???

目标,这几种方式的优劣:

#「Best practices for getting code into a container (git clone vs. copy vs. data container)」
说了半天,大家都是从使用场景出发的。场景不同问题不同。[……]

Read more

更新日期:2019年08月06日

(03/04/2019) Docker 18.09 & Kali Rolling

在Docker官网上没有相应文档,毕竟这也不是个用于生产的发行版。而且就算Kali是Debian的衍生版,也不能用Debian的安装文档,因为有一个关键的地方是添加Docker官方源,这个地方是加不上去的。

所以啊,直接从Kali的源里安装吧:

#!/bin/sh

apt-get install docker.io

systemctl start docker.service
systemctl enable docker.service

doc[……]

Read more

更新日期:2019年07月19日

Compose,一个用于定义和运行多个容器的工具。

首先,使用YAML文件定义一组要启动的容器,然后通过一个简单的命令来启动所有在配置文件中定义的服务。

使用Docker Compose部署应用:

(1)创建Compse文件。该文件的内容「类似于把docker run的参数写在文件中」。

web:
image: jam01/compseapp
command: python app.py
ports:
– “5000:5000”
volumns:
– .:/composeapp
links:
– red[……]

Read more

更新日期:2019年07月10日

#01 检查Docker是否正常运行

使用docker info命令产看容器信息、检查容器是否正常运行:

#!/bin/sh

docker info

# 该命令返回容器概述、镜像概述、执行驱动、存储驱动、基本配置

#02 运行第一个容器

使用docker run命令来运行容器。实际上,它执行了容器的创建和容器的启动:

#!/bin/sh

docker run -i -t ubuntu /bin/bash

#03 使用第一个容器

容器相当与一个操作系统,一个“完整”的操作系统。

如果退出,则容器会停止运[……]

Read more

更新日期:2019年08月06日

内容简介

本文介绍Docker版本号的是如何变化的。为什么会有1.x版本会与17.x的版本进行对比,这个跨度是否太大了。

# 时间点:17.03.0-ce (2017-03-01)

从这个版本开始,Docker进入「月度发布」周期,并使用新的「YY.MM」版本控制方案来反映这一点。 提供两种渠道:「月度」和「季度」。任何给定的「月度版本」只会在下一个月度发布可用之前收到安全性和错误修正。「季度版本」在首次发布后的4个月内会收到安全性和错误修正。此版本包含1.13.1的错误修正,但没有主要功能添加,API版本保持不变。从Docker 1.13.1[……]

Read more

更新日期:2019年08月08日

# 容器的各种状态

-「What does CREATED container mean in docker?」
-「docker create」

在手册「docker ps」中找到了容器所有可能的状态「created, restarting, running, removing, paused, exited, dead」。但是,并没有在文档中找到关于每种状态的详细描述。在各个命令中可能会包含执行改名后容器的状态。[……]

Read more

更新日期:2019年08月09日

内容简介

本文讨论了:如何删除本地和远程的Docker镜像;在删除过程中出现的常见问题的处理;还涉及了一些Docker镜像存储方式方面的内容。

删除远程镜像

在镜像仓库(如Docker Hub中)中的镜像,要在镜像仓库中删除,目前不能通过命令删除。

通常是通过单击按钮来操作完成的,不涉及特别复杂的内容,所以简单略过。

# 08/08/2019 今天在「Docker v19.03 (current)」看到了「docker registry rmi」命令,可以从Registry中移除镜像,目前出于实验性质。

删除本地镜像

#[……]

Read more

更新日期:2019年07月10日

用来存储镜像的仓库,已经用于存储仓库的Registry服务。

# 搭建自己的Registry服务

Docker公开了Register的代码,我们可以运行自己的Register,搭建私有服务,放在防火墙之后,但是没有用户界面,只能通过API访问。

运行服务

运行一个Register服务非常简单:docker run -p 5000:5000 registry:2,该命令启动一个Registry 2.0的容器,并将5000端口绑定到宿主机上。如果你的Registry低于2.0版本,则可以使用迁移工具「docker/migrator」来升级。[……]

Read more

更新日期:2019年07月10日

# 1.7.5

「Installation and Configuration Guide」
「Configuring Harbor with HTTPS Access」

#!/bin/sh

################################################################################
# 下载离线安装包
################################################################################

######[……]

Read more

更新日期:2019年07月10日

#5 GitHub / DNS Issue #255

# 相关链接:
「DNS Issue #255」
「DNS/IPV6 Problem #153」
「What does it mean when I get a server failure when connecting to a router with DNS protocol」

# 问题描述:
宿主机centos 4.18.12-1.el7.elrepo.x86_64,镜像apline。在容器里PING某个域名,在进行DNS解析时会有一段时间的延迟。

使用tcpdump抓包,发现:[……]

Read more