首页 风险测评文章正文

广元市三江新区建投债权转让

风险测评 2020年07月29日 18:46 17 信通技术网
【近期信托列表】 【近期政府债列表】
广元市三江新区建投债权转让
湖人三角色球员合砍55分三分11中9 场下詹皇浓眉直接高兴到抱在一起_腾讯新闻

湖人三角色球员合砍55分三分11中9 场下詹皇浓眉直接高兴到抱在一起

2020
07/28
07:27
评论
11
  • 最后一页

洛杉矶湖人队在轮休四位主力球员后 ,他们依旧在今天的热身赛中战胜了华盛顿奇才队,球队角色球员们表现非常出色,卡鲁索、JR史密斯 、维特斯三人合计拿到55分 ,三分球更是惊人的11投9中 。看到这样的场景,就连湖人板凳上的球员都坐不住了。 (来自:HCHT)


广元市三江新区建投债权转让
【汽车之家 新能源】  日前 ,特斯拉CEO马斯克在社交媒体上回复网友关于纯电动皮卡Cybertruck的车身颜色问题时,证实了通过加热Cybertruck的不锈钢车身可以为其着色的说法。此外,马斯克还表示推出白色版本的Cybertruck也并非不可能。

           

           

去年11月 ,特斯拉正式发布了纯电动皮卡Cybertruck 。该车为了保证车身的结构强度,采用了“超硬30X冷轧不锈钢”。在去年发布的时候,特斯拉只推出了一款未喷漆的皮卡原型车 ,此车辆外观为灰色不锈钢色,业界推测这种材质可能并不易于喷漆着色。因此有网友想出了通过高温进行着色的想法,因为不锈钢可以在不同的温度下呈现不同的颜色 。

           

目前 ,特斯拉官方尚未对是否推出不同颜色版本的Cybertruck给出明确答复,马斯克对网友的答复似乎也只是从理论层面证实了通过高温加热使不锈钢变色可能性。不过也不排除未来可以通过售后市场,实现该车颜色的变化。关于Cybertruck的最新资讯 ,请持续关注汽车之家的后续报道 。(文/汽车之家 胡永彬)


广元市三江新区建投债权转让
           

本文将会介绍Docker相关的内容 ,思维导图如下

思维导图

           

在这里插入图片描述初识Docker什么是Docker

Docker是一个开源的,轻量级的应用容器引擎,基于Go语言开发 ,用于出创建,管理和编排容器,和VM相比 ,开销更小,性能更高,但是 ,相比较虚拟机而言,隔离比虚拟机更弱,完全不能取代虚拟机 ,但是可以把相关的依赖进行打包,发布到一个轻量级的,可移植的任何的Linux系统 ,完全实现虚拟化操作Docker从17版本以后分为社区版本和企业版本。

Docker应用场景

Web应用程序的自动化打包和发布

自动化测试环境的持续集成和发布。

在服务型环境中 ,部署和调整数据库或者其他后台应用 。

重新编译新的PaaS环境

优点

优点有如下几点

简化程序可以让开发者把应用打包到一个可移植的容器中,实现应用的发布简化 。

避免选择恐惧相比较原先的安装过程的复杂,docker进一步的简化了程序的安装。

节省开支开支可以进行节省 ,不需要过高的硬件成本。

官网

hub.docker.com

Docker 核心概念

本小节介绍Docker的核心概念

核心概念

镜像

什么是镜像,镜像是一个特殊的文件系统,包含了程序运行的时候需要的资源和环境 ,镜像不包含任何动态的数据,在构建之后,数据也不会发生改变 。至于镜像的层 ,是由于镜像包含root文件系统,导致体积过大,这里采用了Union FS技术 ,采用层式结构,每一层都是对上一层的更改,这样就完成了镜像体积的缩小。

容器

容器和镜像的关系就像类和实例的关系一样 ,容器是进行运行时的实体 ,容器可以实现对镜像的操作,启动,停止 ,删除等。容器的实质是京城,但是这个进程拥有自己的ID空间,运行在隔离的区域内 。镜像实现的是分层处理 ,那么对于存储来说,使用的也是分层夯实,随着产生而产生 ,随着消亡而消亡。

仓库

镜像构建完成以后,相当容易在宿主机上运行,如果需要在其他服务上使用这个镜像 ,就需要仓库,用来临时保存这些镜像文件。仓库就是起这个作用的 。

Docker daemon

这个是用来负责监听Docker API请求,来实现对Docker的对象的管理。负责镜像 ,容器 ,网络,卷等之间的交互

Docker Client

这个是Docker客户端和Docker交互的主要方式,使用docker run 命令的时候 ,接收命令的就是docker Client

Hello World

安装docker

使用脚本进行安装使用官方安装脚本自动安装安装命令如下:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

也可以使用国内 daocloud 一键安装命令:

curl -sSL https://get.daocloud.io/docker | sh

手动安装Docker

1.选择国内的云服务商,这里选择阿里云为例

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

2.安装所需要的包

sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual

3.添加使用 HTTPS 传输的软件包以及 CA 证书

sudo apt-get update

sudo apt-get install apt-transport-https ca-certificates

4.添加GPG密钥

sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

5.添加软件源

echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list

6.添加成功后更新软件包缓存

sudo apt-get update

7.安装docker

sudo apt-get install docker-engine

8.启动 docker

sudo systemctl enable docker

sudo systemctl start docker

实现Hello World

$ docker run ubuntu:15.10 /bin/echo "Hello world"

Hello world

这样就运行了一个容器。输出Hello World

镜像

要想学习一个内容,需要先从最基本的命令 ,使用部分开始最为核心的是 images 命令

基本命令

docker search

docker search 用于搜索线上镜像仓库,这样就可以搜索出在Docker Hub上所有带redis的公共的可用镜像 。

【root@CentOS ~】# docker search redis

INDEX       NAME                                           DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED

docker.io   docker.io/redis                                Redis is an open source key-value store th...   5472      【OK】

docker.io   docker.io/bitnami/redis                        Bitnami Redis Docker Image                      82                   【OK】

docker.io   docker.io/sameersbn/redis                                                                      68                   【OK】

docker.io   docker.io/tenstartups/redis-commander                                                          32                   【OK】

docker.io   docker.io/hypriot/rpi-redis                    Raspberry Pi compatible redis image             31

docker.io   docker.io/kubeguide/redis-master               redis-master with "Hello World!"                25

docker.io   docker.io/kubeguide/guestbook-redis-slave      Guestbook redis slave                           20

docker.io   docker.io/redislabs/redis                      Clustered in-memory database engine compat...   15

docker.io   docker.io/webhippie/redis                      Docker images for redis                         9                    【OK】

docker.io   docker.io/arm32v7/redis                        Redis is an open source key-value store th...   7

docker.io   docker.io/rediscommander/redis-commander       Alpine image for redis-commander - Redis m...   7                    【OK】

docker.io   docker.io/oliver006/redis_exporter              Prometheus Exporter for Redis Metrics. Su...   5

docker.io   docker.io/rtoma/logspout-redis-logstash        Logspout including Redis adapter for sendi...   5

docker.io   docker.io/centos/redis-32-centos7              Redis in-memory data structure store, used...   3

docker.io   docker.io/dynomitedb/redis                     Redis backend for DynomiteDB.                   2                    【OK】

...

docker pull

docker pull 拉取服务器镜像仓库里的镜像。

【root@CentOS ~】# docker pull redis

Using default tag: latest

Trying to pull repository docker.io/library/redis ...

latest: Pulling from docker.io/library/redis

be8881be8156: Pull complete

d6f5ea773ca3: Pull complete

735cc65c0db4: Pull complete

ff89c30e4d8c: Pull complete

59bf782a86b3: Pull complete

ce8aaa9fe90a: Pull complete

Digest: sha256:096cff9e6024603decb2915ea3e501c63c5bb241e1b56830a52acfd488873843

Status: Downloaded newer image for docker.io/redis:latest

不指定版本,默认会下载最新的一个版本。由于官方的镜像在国外,有时网速较慢 ,所以推荐下载国内的镜像,比如阿里云,网易云 。

docker push 推送本地镜像到服务器 。

docker rmi

使用该命令可以实现对docker 镜像的删除“docker rmi $(docker images -q) ”命令批量删除镜像。

【root@localhost ~】# docker rmi $(docker images -q)

Error response from daemon: conflict: unable to delete 99a68c0f45ff (must be forced) - image is being used by stopped container a203e0ca18d9

Error response from daemon: conflict: unable to delete 598a6f110d01 (must be forced) - image is being used by stopped container 35732ecdd9d9

Error response from daemon: conflict: unable to delete 2619ee45e83f (must be forced) - image is being used by stopped container 3f0594d6cde9

Error response from daemon: conflict: unable to delete 4c108a37151f (must be forced) - image is being used by stopped container cd5b845cf72f

Error response from daemon: conflict: unable to delete 9f38484d220f (cannot be forced) - image has dependent child images

上面执行的命令抛出了错误 ,这是因为镜像有容器在使用,不能删除,需要使用 -f 强制删除。如下:

【root@localhost ~】# docker rmi $(docker images -q) -f

Untagged: myimage:latest

Deleted: sha256:99a68c0f45ffdb98dd0389e179d4af44b2ba390c12f4bd57b21b30824852cb43

Deleted: sha256:3a782dfda07e34c2031a06663204c80ea02116702dfac0ca7e9a1aa98e19c918

Untagged: redis:latest

Untagged: redis@sha256:74ee482ee42e7acb000e7fc5f32d292fc056464403834b0790a6e46175ff3ff5

Deleted: sha256:598a6f110d01ba2d8086011cf70571b4a52a532e25189a70042171ed9d700b50

Untagged: tomcat9:latest

Deleted: sha256:2619ee45e83f1363266d6c1447ad78f0f4df2f0375fd1f62b098f19826dc0056

Deleted: sha256:5740e6bcb807ec726a038a4dcfdfae934df6eb9c9e3a2df67233091f67503cdb

Deleted: sha256:b1809ccfbedadc087131259560568ca64516620ef62e83af87d661e515f84c9f

Deleted: sha256:dedd306660ce0b42ba33a857b0799c4dd471e878039e1f91cc2f49e48f094e0c

Deleted: sha256:ef484938826ff0de3c594f2d8d0f5ccf54860bf3f3e078b5cfa4b93020d4d25b

Deleted: sha256:4c44e8c93b97e03d4366448ac867170f32e3f007d90b349776693a764f7d0dd8

Deleted: sha256:497cbba7548726f34236a70d343d735bc5ae94da61d259dc86837279034cdff1

Deleted: sha256:0668f8a9f0010a6d1d16713314bc13bdef37b23b6bb5185c312ac5b74b626b6d

Deleted: sha256:a8fc032fe78b62f2f5e97d77ab6b87a91aefde2c2df292f3a975b1bea995ba58

Deleted: sha256:e88d9fb84bcd05157e1a602746b3f1acb50968e1a78322c714861d38fb317e1e

Deleted: sha256:215720ff5c7aff6a0b56a9b560268a3c4ab974267d6698c3233c25a71fda472c

Deleted: sha256:d9079b92bfabd395c4a13cb5f57fad42ec30ed9489bdb82ab00f1769770de4c7

Deleted: sha256:0eea6afa060b0f10f0eeb031969b827c6bbbebe71cef4b781fa2098ce74f05dc

Deleted: sha256:3afbe94bccd2ee5d722a866e3844ebbd92211bf1eb71fad17ec7dc75ebb9b583

Deleted: sha256:8cd1a6e0430e9b30b48b9a187074da00593b6f37ecd7f20891e685579f8651d4

Untagged: ubuntu:latest

Untagged: ubuntu@sha256:9b1702dcfe32c873a770a32cfd306dd7fc1c4fd134adfb783db68defc8894b3c

Deleted: sha256:4c108a37151f54439950335c409802e948883e00c93fdb751d206c9a9674c1f6

Untagged: centos:latest

Untagged: centos@sha256:a799dd8a2ded4a83484bbae769d97655392b3f86533ceb7dd96bbac929809f3c

Deleted: sha256:9f38484d220fa527b1fb19747638497179500a1bed8bf0498eb788229229e6e1

【root@localhost ~】#

这样就完成了Docker image 系列的相关命令

基础知识

镜像存储位置

既然是说镜像存储的位置 ,那么应该包含:镜像层文件和镜像 json 文件 。如一个 ubuntu:14.04 镜像 ,包含 4 个镜像层,在 aufs 存储驱动的情况下,在磁盘上的情况可以如以下图所示:

查看镜像层组成:

我们可以通过命令 docker history ubuntu:14.04 查看 ubuntu:14.04 ,结果如下:

           

在这里插入图片描述镜像层文件内容存储

Docker 镜像层的内容一般在 Docker 根目录的 aufs 路径下,为 /var/lib/docker/aufs/diff/,具体情况如下:

           

在这里插入图片描述

图中显示了镜像 ubuntu:14.04 的 4 个镜像层内容 ,以及每个镜像层内的一级目录情况。需要额外注意的是:镜像层 d2a0ecffe6fa 中没有任何内容,也就是所谓的空镜像。

镜像 json 文件存储

对于每一个镜像层,Docker 都会保存一份相应的 json 文件 ,json 文件的存储路径为 /var/lib/docker/graph,ubuntu:14.04 所有镜像层的 json 文件存储路径展示如下:

           

在这里插入图片描述

除了 json 文件,大家还看到每一个镜像层还包含一个 layersize 文件 ,该文件主要记录镜像层内部文件内容的总大小 。既然谈到了镜像 json 文件,为了给下文铺垫,以下贴出 ubuntu:14.04 中空镜像层 d2a0ecffe6fa 的 json 文件:

           

在这里插入图片描述容器基础命令docker container run

该命令用于启动新的容器 ,用相关的命令作为参数 ,用于启动和创建相关的容器镜像。

$ docker container run -it --name test ubuntu /bin/bash

执行此命令会在前台生成一个Base Sell 输出窗口,并可以进行相关的链接

-it: 使容器具备交互性并与终端进行连接

--name: 给容器命名

Ctrl-PQ

进入容器的执行状态以后,使用该命令可以断开和容器的链接 ,并保持容器的后台运行

docker container ls

该命令用于列出所有运行状态的容器,并用标记进行标记,并返回相关的容器的id

$ docker container ls 【-a】 【-q】

docker container exec

该指令允许用户在运行状态的容器中 ,启动一个新进程。该命令在将 Docker 主机 Shell 连接一个运行中容器终端时非常有用 。

docker container exec -it  bash

执行上述命令后会在容器内部启动一个 Bash Shell 进程,并连接到该Shell。为了时该命令生效,用于创建容器的镜像必须包含 Bash Shell。

docker container stop

该命令会停止运行中的容器 ,并将状态置为 Exited(0)  。该命令将发送 SIGTERM 信号给容器内 PID 为 1 的进程, 如果进程没有在 10s 之内得到清理并停止运行, 则会接着发送 SIGKILL 信号强制停止容器。

$ docker container stop

docker container start

该命令会重启处于停止(Exited)状态的容器。

$ docker  container start

docker container rm

该命令会删除已停止运行的容器 ,-f 参数会强制删除已运行的容器 。但按照规范,推荐先停止容器,再执行此命令删除容器 。

$ docker container stop

$ docker container rm

docker container inspet

该命令会显示容器的配置细节和运行时的情况。

$ docker container inspect

备注

执行上述命令时也可以省略 container 字段 , 直接执行如:docker start/stop/run/inspect ...

详细知识点

这里将会手动的实现一个基本的容器 通过对一个进程隔离 ,限制,以及rootfs,这三种方式。实现对一个基本进程的容器化

进程隔离

这里我们先观察一下已经搭建好的集群容器的情况:

# kubectl get po -o wide

NAME                                READY   STATUS    RESTARTS   AGE     IP            NODE

business-manager-666f454f7f-bg2bt   1/1     Running   0          27s     172.30.76.4   192.168.0.21

business-manager-666f454f7f-kvn5z   1/1     Running   0          27s     172.30.76.5   192.168.0.21

business-manager-666f454f7f-ncjp7   1/1     Running   0          27s     172.30.9.4    192.168.0.22

data-product-6664c6dcb9-7sxnz       1/1     Running   0          7m17s   172.30.76.2   192.168.0.21

data-product-6664c6dcb9-j2f48       1/1     Running   0          7m17s   172.30.76.3   192.168.0.21

data-product-6664c6dcb9-p5xkw       1/1     Running   0          7m17s   172.30.9.3    192.168.0.22

上图可知 ,我们有两个Pod跑在192.168.0.22这台宿主机上,pod里实际跑的正是我们打包的docker容器 。我们在宿主机上执行docker ps,就可以看到上述两个容器(k8s还将DNS等其他模块的部分组件调度在这台机上 ,所以docker ps显示的容器不止2个):

# docker ps

CONTAINER ID        IMAGE                              COMMAND                  CREATED             STATUS

e411e063c652        reg.miz.so/aura/business-manager   "/bin/sh -c 'nohup .…"   31 minutes ago      Up 31 minutes

e081a599315c        kubernetes/pause                   "/pause"                 31 minutes ago      Up 31 minutes

e07627a10c38        reg.miz.so/jo-demo/data-product    "/bin/sh -c 'echo 19…"   37 minutes ago      Up 37 minutes

6ff85402a1da        kubernetes/pause                   "/pause"                 38 minutes ago      Up 38 minutes

1c92cc7a7f44        ist0ne/exechealthz-amd64           "/exechealthz '--cmd…"   3 hours ago         Up 3 hours

937128a888f2        ist0ne/dnsmasq-metrics-amd64       "/dnsmasq-metrics --…"   3 hours ago         Up 3 hours

4e926555a6f2        kubernetes/pause                   "/pause"                 3 hours ago         Up 3 hours

接下来我们进入其他一个容器执行ps,查看容器里都有些什么进程:

# kubectl exec -ti business-manager-666f454f7f-ncjp7 sh

$ ps -efj

UID         PID   PPID   PGID    SID  C STIME TTY          TIME CMD

root          1      0      1      1  0 14:47 ?        00:00:03 ./business-manager -conf /business-manager/config/config.json

root         22      0     22     22  0 15:25 pts/0    00:00:00 sh

root         28     22     28     22  0 15:29 pts/0    00:00:00 ps -efj

进入business-manager这个应用的容器内部,ps查看所有的进程 ,pid=1的是我们的应用程序,pid=22和28的分别是我们这一步操作执行的sh程序和ps程序。了解linux系统的同学应该知道,pid=1的不是内核的init进程吗(不一定非得是这个进程 ,但内核总得维护一个“1号”进程,它的作用是作为父进程来启动其他的进程,并且接收那些被应用“遗弃”的孤儿进程)?那么init进程哪去了呢?其实上面显示的1号进程 ,是docker容器的障眼法 ,这个business-manager进程就是跑在宿主机上的一个特殊的进程,我们查看下宿主机的真实进程情况:

# ps -efj|grep business-manager

root      38156  38138  38156  38156  0 14:47 ?        00:00:03 ./business-manager -conf /business-manager/config/config.json

root      47393   3471  47392   3471  0 15:34 pts/2    00:00:00 grep --color=auto business-manager

上面这个pid=33156的才是宿主机上对应business-manager容器的真实进程。容器(指容器里的应用),是linux系统里的一个特殊进程 ,docker通过linux namespace技术对应用进程进行了隔离,使的应用只能看到指定的有限的系统信息,这就使应用“以为 ”自己在一个独立的操作系统环境下 。

Linux namespace ,跟K8S 、C++的namespace的功能是类似的,目的都是将一组资源限定在一个有限的可见范围内。这些隔离属性,基本涵盖了一个小型操作系统的运行要素 ,包含主机名、网络、文件系统等。要使用上述namespace很容易,在调用内核api clone()函数创建新的进程时,加上上述参数即可 。这正是Docker在创建容器(现在大家知道了 ,就是创建我们的应用程序进程)时所要做的事情。

进程限制

Linux的Cgroup机制,是Docker利用的又一大利器。上一节我们知道,容器其实就是宿主机里的一个被框进来的进程 ,它不能看到外面 ,但它与宿主机上其他的进程共享了内核资源,所以接下来我们需要对它所能使用的资源作限制,这就是Cgroup机制所提供的 。Cgroup的使用 ,比较简单粗暴,它利用一组目录和文件的组合,来实现配置和控制。这些目录和文件在/sys/fs/cgroup目录下:

# cd /sys/fs/cgroup/

# ls

blkio  cpu  cpuacct  cpu,cpuacct  cpuset  devices  freezer  hugetlb  memory  net_cls  net_cls,net_prio  net_prio  perf_event  pids  systemd

上述文件夹各自对一些资源进行控制。要使用cgroup很简单 ,在对应目录下创建一个新的文件夹,cgroup会自动为我们生成相关的一些配置文件:

# cd cpu

# mkdir JoTest

# cd JoTest/

# ls

cgroup.clone_children  cgroup.procs  cpuacct.usage         cpu.cfs_period_us  cpu.rt_period_us   cpu.shares  notify_on_release

cgroup.event_control   cpuacct.stat  cpuacct.usage_percpu  cpu.cfs_quota_us   cpu.rt_runtime_us  cpu.stat    tasks

我们可以修改period和quota文件,配置进程能够占用的CPU百分比 ,然后将需要应用这组限制的进程的ID写入tasks文件,即可完成cpu的限制 。

rootfs

Namespace对应用进行了隔离,而cgroup则完成了资源的分配和限制 ,现在一个针对应用程序的沙盒已经成型 。接下来就是考虑开篇提到的一致性问题了?一致性主要是为了解决应用跑在不同的宿主机上不受宿主机环境的差异影响的问题。容器技术出来之前,手动或脚本迁移应用的时候,往往会遇到新的宿主机缺少某个关键组件 、或是某些依赖版本差异甚至是操作系统内核差异等因素导致的不一致问题。现在我们来看看docker是怎么解决这个问题的 。

对于单个应用程序进程来说 ,对环境的依赖 ,关键体现在对操作系统所提供的文件系统的依赖,所以docker所要做的就是通过以下3步给你一套想要的文件系统:

通过mount namespace将应用的文件系统隔离开

将应用所需要的文件系统(比如centos:7的所有文件)拷贝到某个目录D下

调用chroot将应用的根目录调整为目录D(mount namespace的隔离作用在这里体现出来了,chroot只对在当前namespace下的应用生效 ,应用在这个“根目录 ”下可以随便折腾,而不会影响到真实的宿主机根目录。)

上面这3步所构造出来的文件系统,我们称之为rootfs(根文件系统)。应用程序执行“cd /"指令进入的根目录 ,将被限定在上述目录D下 。下面我们简单验证一下这个rootfs。这里我们在容器的根目录新建一个文件jo1,然后在宿主机上查找这个文件,定位到如下位置:

# cd /var/lib/docker/overlay2/b2231f9f15050ae8d609726d308c2ead60114df3fc5404a24c688d805d4a9883/merged/

# ls

anaconda-post.log  bin  business-manager  data  dev  etc  home  jo1  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

可以看到 ,上面这个文件夹正是我们的容器所在的“根目录”。

我们也可以用mount指令查看当前宿主机的挂载情况,限于篇幅,这里就不展开解析mount了 ,下面是mount的输出节选:

# mount|grep overlay2

overlay on /var/lib/docker/overlay2/be512d9faf97c7d860fa16ecc4ecd5057e12feffc8b0804115923f0795bb9f75/merged type overlay (rw,relatime,seclabel,lowerdir=/var/lib/docker/overlay2/l/ZSXN3J4UXRRBMRG3F3RNUZGWUB:/var/lib/docker/overlay2/l/2CCAOTBFIGCYNR73TQEE333CO6:/var/lib/docker/overlay2/l/6Y5GTV75CBUR4WORCMOHYJZQ7Y:/var/lib/docker/overlay2/l/VWENHOE7X3WDA4NK5P7DTTPSIX,upperdir=/var/lib/docker/overlay2/be512d9faf97c7d860fa16ecc4ecd5057e12feffc8b0804115923f0795bb9f75/diff,workdir=/var/lib/docker/overlay2/be512d9faf97c7d860fa16ecc4ecd5057e12feffc8b0804115923f0795bb9f75/work)

overlay on /var/lib/docker/overlay2/8a7546027e2e354bf0bba12600fdb6ac87c199d09589ba90952f28aed74d13b6/merged type overlay (rw,relatime,seclabel,lowerdir=/var/lib/docker/overlay2/l/KOZRXUFTWITQUNAKOZMWSYWTSH:/var/lib/docker/overlay2/l/2CCAOTBFIGCYNR73TQEE333CO6:/var/lib/docker/overlay2/l/6Y5GTV75CBUR4WORCMOHYJZQ7Y:/var/lib/docker/overlay2/l/VWENHOE7X3WDA4NK5P7DTTPSIX,upperdir=/var/lib/docker/overlay2/8a7546027e2e354bf0bba12600fdb6ac87c199d09589ba90952f28aed74d13b6/diff,workdir=/var/lib/docker/overlay2/8a7546027e2e354bf0bba12600fdb6ac87c199d09589ba90952f28aed74d13b6/work)

           

小明菜市场

推荐阅读

●学习 | Spring Cloud Config 从入门到精通

●明知 | js中类定义和类继承

●目标 | Node.js web 应用 Docker 化

●新知 | JavaScript 几种循环方式以及模块化的总结

           


广元市三江新区建投债权转让

标签: 广元市三江新区建投债权转让

信通技术网