欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

docker鏡像管理基礎(chǔ)以及鏡像的制作方法-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“docker鏡像管理基礎(chǔ)以及鏡像的制作方法”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“docker鏡像管理基礎(chǔ)以及鏡像的制作方法”吧!

創(chuàng)新互聯(lián)建站于2013年創(chuàng)立,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元?dú)J州做網(wǎng)站,已為上家服務(wù),為欽州各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792

docker鏡像管理基礎(chǔ)

首發(fā):arppinging

一、鏡像概述

1.1 聯(lián)合掛載

在之前的文章我們提到過(guò),容器是基于鏡像啟動(dòng)的,鏡像的存儲(chǔ)驅(qū)動(dòng)是overlay2

overlayFS將單個(gè)Linux主機(jī)上的兩個(gè)目錄合成一個(gè)目錄,這些目錄稱(chēng)為,統(tǒng)一過(guò)程被稱(chēng)為聯(lián)合掛載。

下圖是一個(gè)docker鏡像和docke容器的分層圖,docker鏡像是lowdir,docker容器是upperdir。而統(tǒng)一的視圖層是merged層。
docker鏡像管理基礎(chǔ)以及鏡像的制作方法
如果一個(gè)鏡像有多層的話,那么它的啟動(dòng)過(guò)程需要進(jìn)行聯(lián)合掛載,如下圖,centos被稱(chēng)為基礎(chǔ)鏡像(base image),在基礎(chǔ)鏡像上安裝了nginx,形成新的。如果基于鏡像進(jìn)行啟動(dòng),啟動(dòng)的順序應(yīng)該為centos-->nginx,因?yàn)閚ginx的文件依賴(lài)于centos,如果基礎(chǔ)鏡像沒(méi)有啟動(dòng),那么上面的層就沒(méi)有可以使用的文件系統(tǒng),所以,必須要centos啟動(dòng)并掛載了文件系統(tǒng)之后,nginx才能啟動(dòng)和使用文件系統(tǒng)。

docker鏡像管理基礎(chǔ)以及鏡像的制作方法

鏡像的分層構(gòu)建和聯(lián)合掛載都依賴(lài)于專(zhuān)用的文件系統(tǒng)支撐。

docker可使用的文件系統(tǒng)有:aufsoverlayFS、btrfsdevicemapper(dm)。

不同系統(tǒng)默認(rèn)支持的文件系統(tǒng)也不一樣,比如ubuntu默認(rèn)使用的是aufs,centos 7上,使用的是devicemapper,在內(nèi)核版本為3.18之后,使用的是overlayfs。其中devicemapper(dm)也是linux中l(wèi)vm使用的文件系統(tǒng)。

1.3 鏡像分層

鏡像的本身時(shí)候只讀的

位于下層的鏡像稱(chēng)為父鏡像(parent image),最底層的稱(chēng)為基礎(chǔ)鏡像(base image),當(dāng)基于鏡像運(yùn)行容器的時(shí)候,最上層的為可寫(xiě)層,其下的均為只讀層。所有的寫(xiě)操作只能在最上面的wirtable寫(xiě)入,一旦刪除容器,可寫(xiě)層 wirtable的數(shù)據(jù)也會(huì)一并被刪除。
docker鏡像管理基礎(chǔ)以及鏡像的制作方法

docker鏡像包含有啟動(dòng)容器所需要的文件系統(tǒng)及其內(nèi)容,因此,其用于創(chuàng)建并啟動(dòng)docker容器。

docker采用分層的構(gòu)建機(jī)制,最底層為bootfs(引導(dǎo)文件系統(tǒng)),其之為rootfs

bootfs:用于系統(tǒng)引導(dǎo)的文件系統(tǒng),包括bootloaderkernel,容器啟動(dòng)后會(huì)自動(dòng)卸載(并非刪除)以節(jié)省資源。所以bootfs僅僅用于引導(dǎo)文件系統(tǒng)。

docker鏡像管理基礎(chǔ)以及鏡像的制作方法

rootfs:位于bootfs之上,表現(xiàn)為docker容器的根文件系統(tǒng)(/目錄及其子目錄)
在傳統(tǒng)模式中(完整的操作系統(tǒng)),系統(tǒng)啟動(dòng)時(shí),內(nèi)核掛載rootfs時(shí)會(huì)首先掛載為只讀模式,完整性自檢完成后將其重新掛載為讀寫(xiě)模式。而在docker中,rootfs由內(nèi)核掛載為只讀模式,而后通過(guò)聯(lián)合掛載技術(shù)額外掛載一個(gè)可寫(xiě)層

docker鏡像管理基礎(chǔ)以及鏡像的制作方法

二、鏡像制作

鏡像制作的有automated builddocker file和基于容器制作等方式。

2.1 從指定網(wǎng)址獲取鏡像

默認(rèn)情況下,docker會(huì)在dockerhub.com獲取鏡像,如果我們要在別的網(wǎng)站獲取鏡像的話,需要指定。

格式:docker pull <registry>[:port]/[namespace]:<name>:<tag>

在quay.io獲取一個(gè)鏡像

[root@node1 /]# docker pull quay.io/coreos/flannel:v0.10.0-amd64
v0.10.0-amd64: Pulling from coreos/flannel
ff3a5c916c92: Pull complete 
8a8433d1d437: Pull complete 
306dc0ee491a: Pull complete 
856cbd0b7b9c: Pull complete 
af6d1e4decc6: Pull complete 
Digest: sha256:88f2b4d96fae34bfff3d46293f7f18d1f9f3ca026b4a4d288f28347fcb6580ac
Status: Downloaded newer image for quay.io/coreos/flannel:v0.10.0-amd64
[root@node1 /]#

2.2 基于容器制作鏡像

在容器上做符合需求的修改,然后構(gòu)建成新的鏡像。
命令格式:docker commit [options] container [repository[:tag]]
常用option:
-p:在制作鏡像的過(guò)程中停止運(yùn)行容器,以防在鏡像制作的過(guò)程中容器有新的文件寫(xiě)入,導(dǎo)致文件不完整。
-c:修改基礎(chǔ)鏡像的參數(shù)
-a:作者
如果沒(méi)有填寫(xiě)repository和tag,默認(rèn)為Null

2.1.1 基于busybox鏡像運(yùn)行容器b1

基于busybox鏡像運(yùn)行容器b1,并在b1上創(chuàng)建新的文件。

[root@node1 /]# docker run --name b1 -it busybox
/ # ls
bin   dev   etc   home  proc  root  sys   tmp   usr   var
/ # mkdir /data/html/
/ # mkdir -p /data/html/
/ # vi /data/html/index.html
/ #
2.1.2 基于容器制作鏡像

命令格式:docker commit [options] container [repository[:tag]]
打開(kāi)另一個(gè)窗口,基于b1容器進(jìn)行鏡像制作

[root@node1 ~]# docker commit -a arppinging -p b1 web1:v1
sha256:d63a2e64d5d84196356d8bbd9cf46c1e87b904cce3deef6fac2cae61f503b4a6
[root@node1 ~]# docker image ls 
REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
web1                     v1                  d63a2e64d5d8        5 seconds ago       1.15MB
nginx                    1.14-alpine         77bae8d00654        5 weeks ago         17.7MB
redis                    4-alpine            05097a3a0549        2 months ago        30MB
busybox                  latest              59788edf1f3e        2 months ago        1.15MB
quay.io/coreos/flannel   v0.10.0-amd64       f0fad859c909        10 months ago       44.6MB
[root@node1 ~]#
2.1.3 基于新的鏡像運(yùn)行容器

基于新的鏡像運(yùn)行容器,查看增加的文件是否存在。

[root@node1 ~]# docker run --name b2 -it web1:v1
/ # cat /data/html/index.html 
<h2>welcome to arppinging.com<h2>
/ #

2.2 修改鏡像默認(rèn)執(zhí)行命令

鏡像默認(rèn)的執(zhí)行命令類(lèi)似于自啟動(dòng)程序一樣,只要我們基于鏡像啟動(dòng)容器,那么容器就會(huì)運(yùn)行該命令。

需要注意的是:如果我們想要一個(gè)容器始終處于運(yùn)行狀態(tài),那么它必須有程序是在前臺(tái)運(yùn)行的。

2.2.1 查看鏡像默認(rèn)執(zhí)行的命令

查看web1:v1 鏡像默認(rèn)執(zhí)行的命令

[root@node1 ~]# docker inspect web1:v1 | more
[
    {
        "Id": "sha256:d63a2e64d5d84196356d8bbd9cf46c1e87b904cce3deef6fac2cae61f503b4a6",
        "RepoTags": [
            "web1:v1"
        ],
        "RepoDigests": [],
        "Parent": "sha256:59788edf1f3e78cd0ebe6ce1446e9d10788225db3dedcfd1a59f764bad2b2690",
        "Comment": "",
        "Created": "2018-12-16T03:43:22.600775608Z",
        "Container": "2e45357a5285dc8465c6273f9969f0168e55b03455e16c23a4793aef8cb811e7",
        "ContainerConfig": {
            "Hostname": "2e45357a5285",
            "Domainname": "",
            "User": "",
            "AttachStdin": true,
            "AttachStdout": true,
            "AttachStderr": true,
            "Tty": true,
            "OpenStdin": true,
            "StdinOnce": true,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "sh"
            ],
            "ArgsEscaped": true,
            "Image": "busybox",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {}
        },
        "DockerVersion": "18.09.0",
        "Author": "arppinging",
        "Config": {
            "Hostname": "2e45357a5285",
            "Domainname": "",
            "User": "",
            "AttachStdin": true,
            "AttachStdout": true,
            "AttachStderr": true,
            "Tty": true,
            "OpenStdin": true,
            "StdinOnce": true,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "sh"
            ],
            "ArgsEscaped": true,
            "Image": "busybox",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {}
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 1154454,
        "VirtualSize": 1154454,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/294014f41c7dd6e411b4dcf7cebfc8762cdf32b74d49ce58413ca311d21bf7b1
/diff",
                "MergedDir": "/var/lib/docker/overlay2/8afb453743527c6b9472a9d585d1725212d64fa582bcc58558e793dc01cb211
9/merged",
                "UpperDir": "/var/lib/docker/overlay2/8afb453743527c6b9472a9d585d1725212d64fa582bcc58558e793dc01cb2119
/diff",
                "WorkDir": "/var/lib/docker/overlay2/8afb453743527c6b9472a9d585d1725212d64fa582bcc58558e793dc01cb2119/
work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:8a788232037eaf17794408ff3df6b922a1aedf9ef8de36afdae3ed0b0381907b",
                "sha256:3b385ace78f4f55bf74f7c9964870173820b06bd1c0d5fbe55da9314d141c5cc"
            ]
        },
        "Metadata": {
            "LastTagTime": "2018-12-16T11:43:22.602292651+08:00"
        }
    }
]
[root@node1 ~]# docker inspect web1:v1
[
    {
        "Id": "sha256:d63a2e64d5d84196356d8bbd9cf46c1e87b904cce3deef6fac2cae61f503b4a6",
        "RepoTags": [
            "web1:v1"
        ],
        "RepoDigests": [],
        "Parent": "sha256:59788edf1f3e78cd0ebe6ce1446e9d10788225db3dedcfd1a59f764bad2b2690",
        "Comment": "",
        "Created": "2018-12-16T03:43:22.600775608Z",
        "Container": "2e45357a5285dc8465c6273f9969f0168e55b03455e16c23a4793aef8cb811e7",
        "ContainerConfig": {
            "Hostname": "2e45357a5285",
            "Domainname": "",
            "User": "",
            "AttachStdin": true,
            "AttachStdout": true,
            "AttachStderr": true,
            "Tty": true,
            "OpenStdin": true,
            "StdinOnce": true,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "sh"
            ],
            "ArgsEscaped": true,
            "Image": "busybox",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {}
        },
        "DockerVersion": "18.09.0",
        "Author": "arppinging",
        "Config": {
            "Hostname": "2e45357a5285",
            "Domainname": "",
            "User": "",
            "AttachStdin": true,
            "AttachStdout": true,
            "AttachStderr": true,
            "Tty": true,
            "OpenStdin": true,
            "StdinOnce": true,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "sh"
            ],
            "ArgsEscaped": true,
            "Image": "busybox",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {}
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 1154454,
        "VirtualSize": 1154454,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/294014f41c7dd6e411b4dcf7cebfc8762cdf32b74d49ce58413ca311d21bf7b1/diff",
                "MergedDir": "/var/lib/docker/overlay2/8afb453743527c6b9472a9d585d1725212d64fa582bcc58558e793dc01cb2119/merged",
                "UpperDir": "/var/lib/docker/overlay2/8afb453743527c6b9472a9d585d1725212d64fa582bcc58558e793dc01cb2119/diff",
                "WorkDir": "/var/lib/docker/overlay2/8afb453743527c6b9472a9d585d1725212d64fa582bcc58558e793dc01cb2119/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:8a788232037eaf17794408ff3df6b922a1aedf9ef8de36afdae3ed0b0381907b",
                "sha256:3b385ace78f4f55bf74f7c9964870173820b06bd1c0d5fbe55da9314d141c5cc"
            ]
        },
        "Metadata": {
            "LastTagTime": "2018-12-16T11:43:22.602292651+08:00"
        }
    }
]

可以看到其“Cmd”為sh,那如果我們想要將鏡像默認(rèn)的命令改為在前臺(tái)運(yùn)行httpd服務(wù)的話,需要怎么做呢?

2.2.2 修改鏡像的默認(rèn)命令

修改鏡像的默認(rèn)命令(需要重新構(gòu)建一個(gè)鏡像)

[root@node1 ~]# 
[root@node1 ~]# docker commit  -a "arppinging <admin@arppinging.com>" -c 'CMD ["/bin/httpd","-f","-h","/data/html/"]' -p b1 web1:v2
sha256:1918f7fd1895f3535ab3b6a2a3c6411bdae4173cc85a962f09e07d7e13f9ea7d
[root@node1 ~]#

httpd參數(shù):
-f:在前端運(yùn)行
-h:指定http的目錄

查看鏡像的默認(rèn)命令是否被修改

[root@node1 ~]# docker inspect web1:v2 | less
[
    {
        "Id": "sha256:1918f7fd1895f3535ab3b6a2a3c6411bdae4173cc85a962f09e07d7e13f9ea7d",
        "RepoTags": [
            "web1:v2"
        ],
        "RepoDigests": [],
        "Parent": "sha256:59788edf1f3e78cd0ebe6ce1446e9d10788225db3dedcfd1a59f764bad2b2690",
        "Comment": "",
        "Created": "2018-12-16T03:58:21.298236626Z",
        "Container": "2e45357a5285dc8465c6273f9969f0168e55b03455e16c23a4793aef8cb811e7",
        "ContainerConfig": {
            "Hostname": "2e45357a5285",
            "Domainname": "",
            "User": "",
            "AttachStdin": true,
            "AttachStdout": true,
            "AttachStderr": true,
            "Tty": true,
            "OpenStdin": true,
            "StdinOnce": true,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "sh"
            ],
            "ArgsEscaped": true,
            "Image": "busybox",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {}
        },
        "DockerVersion": "18.09.0",
        "Author": "arppinging <admin@arppinging.com>",
        "Config": {
            "Hostname": "2e45357a5285",
            "Domainname": "",
            "User": "",
            "AttachStdin": true,
            "AttachStdout": true,
            "AttachStderr": true,
            "Tty": true,
            "OpenStdin": true,
            "StdinOnce": true,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/httpd",
                "-f",
                "-h",
                "/data/html/"
            ],
            "ArgsEscaped": true,
            "Image": "busybox",
            "Volumes": null,
            "WorkingDir": "",

可以看到cmd已經(jīng)被修改為/bin/httpd -f -g /data/html

2.2.3 基于新的鏡像運(yùn)行容器

基于新的鏡像運(yùn)行容器,并驗(yàn)證httpd服務(wù)是否自動(dòng)開(kāi)啟。

[root@node1 ~]# docker run --name http_1 web1:v2

由于服務(wù)在前端運(yùn)行,所以啟動(dòng)了之后會(huì)發(fā)現(xiàn)命令行無(wú)反應(yīng)。可以打開(kāi)另一個(gè)窗口使用docker inspet http_1查看IP,并使用curl驗(yàn)證是否能獲取網(wǎng)頁(yè)信息。

[root@node1 ~]# curl 172.17.0.3
<h2>welcome to arppinging.com<h2>
[root@node1 ~]#

三、推送鏡像

鏡像制作完成之后,可以將鏡像推送到鏡像倉(cāng)庫(kù)。

3.1 阿里云鏡像倉(cāng)庫(kù)創(chuàng)建

http://dev.aliyun.com/
docker鏡像管理基礎(chǔ)以及鏡像的制作方法
docker鏡像管理基礎(chǔ)以及鏡像的制作方法
docker鏡像管理基礎(chǔ)以及鏡像的制作方法
docker鏡像管理基礎(chǔ)以及鏡像的制作方法
docker鏡像管理基礎(chǔ)以及鏡像的制作方法
docker鏡像管理基礎(chǔ)以及鏡像的制作方法
docker鏡像管理基礎(chǔ)以及鏡像的制作方法
docker鏡像管理基礎(chǔ)以及鏡像的制作方法
docker鏡像管理基礎(chǔ)以及鏡像的制作方法
docker鏡像管理基礎(chǔ)以及鏡像的制作方法

3.2 根據(jù)操作指南將推送鏡像到阿里云倉(cāng)庫(kù)

3.2.1 登陸鏡像倉(cāng)庫(kù)
[root@node1 ~]# docker login --username=tb7595138 registry.cn-hangzhou.aliyuncs.com
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
[root@node1 ~]#
3.2.2 給鏡像打符合上傳標(biāo)準(zhǔn)的tag
[root@node1 ~]# docker image ls
REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
web1                     v2                  1918f7fd1895        37 minutes ago      1.15MB
web1                     v1                  d63a2e64d5d8        About an hour ago   1.15MB
nginx                    1.14-alpine         77bae8d00654        5 weeks ago         17.7MB
redis                    4-alpine            05097a3a0549        2 months ago        30MB
busybox                  latest              59788edf1f3e        2 months ago        1.15MB
quay.io/coreos/flannel   v0.10.0-amd64       f0fad859c909        10 months ago       44.6MB
[root@node1 ~]# docker tag 1918f7fd1895 registry.cn-hangzhou.aliyuncs.com/arppinging/web:v1
[root@node1 ~]# docker image ls
REPOSITORY                                         TAG                 IMAGE ID            CREATED             SIZE
web1                                               v2                  1918f7fd1895        38 minutes ago      1.15MB
registry.cn-hangzhou.aliyuncs.com/arppinging/web   v1                  1918f7fd1895        38 minutes ago      1.15MB
web1                                               v1                  d63a2e64d5d8        About an hour ago   1.15MB
nginx                                              1.14-alpine         77bae8d00654        5 weeks ago         17.7MB
redis                                              4-alpine            05097a3a0549        2 months ago        30MB
busybox                                            latest              59788edf1f3e        2 months ago        1.15MB
quay.io/coreos/flannel                             v0.10.0-amd64       f0fad859c909        10 months ago       44.6MB
[root@node1 ~]#
3.2.3 上傳鏡像
[root@node1 ~]# docker push registry.cn-hangzhou.aliyuncs.com/arppinging/web:v1
The push refers to repository [registry.cn-hangzhou.aliyuncs.com/arppinging/web]
3b385ace78f4: Pushed 
8a788232037e: Pushed 
v1: digest: sha256:1ca7a59ca0a034a44be13bea08fbce5984a20f92cf0243c69984bbb5f84a22bb size: 734
[root@node1 ~]#

docker鏡像管理基礎(chǔ)以及鏡像的制作方法

四、導(dǎo)入和導(dǎo)出鏡像

除了將鏡像推送到倉(cāng)庫(kù),還可以將鏡像導(dǎo)出,拷貝到另一臺(tái)主機(jī)后再進(jìn)行導(dǎo)出。
導(dǎo)出格式:docker save [option] image [image]
-o:打包為

[root@node1 ~]# docker save -o test.tar b1:v1.1 b1:v2
[root@node1 ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  test.tar  公共  模板  視頻  圖片  文檔  下載  音樂(lè)  桌面
[root@node1 ~]#

導(dǎo)入格式:docker load
-i:input

到此,相信大家對(duì)“docker鏡像管理基礎(chǔ)以及鏡像的制作方法”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前名稱(chēng):docker鏡像管理基礎(chǔ)以及鏡像的制作方法-創(chuàng)新互聯(lián)
本文路徑:http://chinadenli.net/article48/heiep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、全網(wǎng)營(yíng)銷(xiāo)推廣外貿(mào)建站、網(wǎng)頁(yè)設(shè)計(jì)公司外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)