欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker格式化輸出命令:"docker?inspect?--format"?學(xué)習(xí)記錄

 更新時(shí)間:2023年01月11日 10:46:13   作者:散盡浮華  
Docker?--format?參數(shù)提供了基于?Go模板?的日志格式化輸出輔助功能,并提供了一些內(nèi)置的增強(qiáng)函數(shù),這篇文章主要介紹了Docker格式化輸出命令:"docker?inspect?--format"?學(xué)習(xí)筆記,需要的朋友可以參考下

Docker --format 參數(shù)提供了基于 Go模板 的日志格式化輸出輔助功能,并提供了一些內(nèi)置的增強(qiáng)函數(shù)。

什么是模板?

上圖是大家熟悉的 MVC 框架(Model View Controller): Model(模型,通常在服務(wù)端)用于處理數(shù)據(jù)、View(視圖,客戶端代碼)用于展現(xiàn)結(jié)果、Controller(控制器)用于控制數(shù)據(jù)流,確保 M 和 V 的同步,即一旦 M 改變,V 也應(yīng)該同步更新。
而對(duì)于 View 端的處理,在很多動(dòng)態(tài)語(yǔ)言中是通過(guò)在靜態(tài) HTML 代碼中插入動(dòng)態(tài)數(shù)據(jù)來(lái)實(shí)現(xiàn)的。例如 JSP 的 <%=....=%> 和 PHP 的 <?php.....?> 語(yǔ)法。
由于最終展示給用戶的信息大部分是靜態(tài)不變的,只有少部分?jǐn)?shù)據(jù)會(huì)根據(jù)用戶的不同而動(dòng)態(tài)生成。比如,對(duì)于 docker ls 的輸出信息會(huì)根據(jù)附加參數(shù)的不同而不同,但其表頭信息是固定的。所以,將靜態(tài)信息固化為模板可以復(fù)用代碼,提高展示效率。

Go語(yǔ)言提供了簡(jiǎn)單靈活的模板支持,而基于 Go 開(kāi)發(fā)的 Docker 繼承了該強(qiáng)大能力,使其可以脫離 Shell 的相關(guān)操作,直接對(duì)結(jié)果進(jìn)行格式化輸出。所有支持 --format 擴(kuò)展的 Docker CLI 指令均支持該操作。

Go模板常用語(yǔ)法

注釋
格式: {{/*注釋內(nèi)容*/}}
示例:

docker network inspect --format='{{/*查看容器的默認(rèn)網(wǎng)關(guān)*/}}{{range .IPAM.Config}}{{.Gateway}}{{end}}' $INSTANCE_ID

變量

系統(tǒng)變量 {{.}}
點(diǎn)號(hào)表示當(dāng)前對(duì)象及上下文,和 Java、C++ 中的 this 類(lèi)似??梢灾苯油ㄟ^(guò){{.}}獲取當(dāng)前對(duì)象。
另外,如果返回結(jié)果也是一個(gè) Struct 對(duì)象(Json 中以花括號(hào)/大括號(hào)包含),則可以直接通過(guò)點(diǎn)號(hào)級(jí)聯(lián)調(diào)用,獲取子對(duì)象的指定屬性值。

示例代碼:

#可以通過(guò)級(jí)聯(lián)調(diào)用直接讀取子對(duì)象 State 的 Status 屬性,以獲取容器的狀態(tài)信息:
docker inspect --format '{{/*讀取容器狀態(tài)*/}}{{.State.Status}}' $INSTANCE_ID 

注意: 如果需要獲取的屬性名稱(chēng)包含點(diǎn)號(hào)(比如下列示例數(shù)據(jù))或者以數(shù)字開(kāi)頭,則不能直接通過(guò)級(jí)聯(lián)調(diào)用獲取信息。因?yàn)閷傩悦Q(chēng)中的點(diǎn)號(hào)會(huì)被解析成級(jí)聯(lián)信息,進(jìn)而導(dǎo)致返回錯(cuò)誤結(jié)果。即便使用引號(hào)將其包含也會(huì)提示語(yǔ)法格式錯(cuò)誤。此時(shí),需要通過(guò) index 來(lái)讀取指定屬性信息。

"Options": {
            "com.docker.network.bridge.default_bridge": "true",
            "com.docker.network.bridge.enable_icc": "true",
            "com.docker.network.bridge.enable_ip_masquerade": "true",
            "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
            "com.docker.network.bridge.name": "docker0",
            "com.docker.network.driver.mtu": "1500"
        },

示例操作:

# 直接級(jí)聯(lián)調(diào)用會(huì)提示找不到數(shù)據(jù):
docker inspect --format '{{.Options.com.docker.network.driver.mtu}}' bridge
<no value>
 
# 用引號(hào)括起來(lái)會(huì)提示語(yǔ)法錯(cuò)誤:
docker inspect --format '{{.Options."com.docker.network.driver.mtu"}}' bridge
Template parsing error: template: :1: bad character U+0022 '"'
 
# 正確的用法,必須用 index 讀取指定屬性名稱(chēng)的屬性值:
docker inspect --format '{{/*讀取網(wǎng)絡(luò)在hosts上的名稱(chēng)*/}}{{index .Options "com.docker.network.bridge.name"}}' bridge
docker0

自定義變量

可以在處理過(guò)程中設(shè)置自定義變量,然后結(jié)合自定義變量做更復(fù)雜的處理。 如果自定義變量的返回值是對(duì)象,則可以通過(guò)點(diǎn)號(hào)進(jìn)一步級(jí)聯(lián)訪問(wèn)其屬性。比如 {{$Myvar.Field1}}。

示例操作:

# 結(jié)合變量的使用,對(duì)輸出結(jié)果進(jìn)行組裝展現(xiàn),以輸出容器的所有綁定端口列表:
docker inspect --format '{{/*通過(guò)變量組合展示容器綁定端口列表*/}}已綁定端口列表:{{println}}{{range $p,$conf := .NetworkSettings.Ports}}{{$p}} -> {{(index $conf 0).HostPort}}{{println}}{{end}}' Web_web_1
 
# 示例輸出信息
已綁定端口列表:
80/tcp -> 32770
8081/tcp -> 8081

遍歷(循環(huán)):range

格式:

{{range pipeline}}{{.}}{{end}}
{{range pipeline}}{{.}}{{else}}{{.}}{{end}}

range 用于遍歷結(jié)構(gòu)內(nèi)返回值的所有數(shù)據(jù)。支持的類(lèi)型包括 array, slice, map 和 channel。使用要點(diǎn):
- 對(duì)應(yīng)的值長(zhǎng)度為 0 時(shí),range 不會(huì)執(zhí)行。
- 結(jié)構(gòu)內(nèi)部如要使用外部的變量,需要在前面加 引用,比如Var2。
- range 也支持 else 操作。效果是:當(dāng)返回值為空或長(zhǎng)度為 0 時(shí)執(zhí)行 else 內(nèi)的內(nèi)容。

示例操作:

# 查看容器網(wǎng)絡(luò)下已掛載的所有容器名稱(chēng),如果沒(méi)有掛載任何容器,則輸出 "With No Containers"
docker inspect --format '{{range .Containers}}{{.Name}}{{println}}{{else}}With No Containers{{end}}' bridge
brtest
peaceful_brown
test
 
docker inspect --format '{{range .Containers}}{{.Name}}{{println}}{{else}}With No Containers{{end}}' none
With No Containers

索引: index
如果返回結(jié)果是一個(gè) map, slice, array 或 string,則可以使用 index 加索引序號(hào)(從零開(kāi)始計(jì)數(shù))來(lái)讀取屬性值。

示例代碼:

# docker inspect $INSTANCE_ID 查看容器綁定的端口信息,其 Config 屬性就是一個(gè) Map,包含了所有子網(wǎng)信息。
...
 "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.31.254.1/24",
                    "Gateway": "172.31.254.1"
                }
            ]
        },           
...

示例操作:

# 通過(guò)索引序號(hào)讀取默認(rèn)網(wǎng)關(guān)
docker inspect bridge --format '{{/*查看網(wǎng)絡(luò)的默認(rèn)網(wǎng)關(guān)*/}}{{(index .IPAM.Config 0).Gateway}}'

判斷:if … else … end

基本判斷
1)not
返回單一參數(shù)的布爾否定值,即返回輸入?yún)?shù)的否定值。

示例:

# 如果容器的 restarting 設(shè)置為 false,則返回信息“容器沒(méi)有配置重啟策略”
docker inspect --format '{{if not .State.Restarting}}容器沒(méi)有配置重啟策略{{end}}' $(docker ps -q)

2) or
- {{or x y}}: 表示如果 x 為真返回 x,否則返回 y。
- {{or x y z}}:后面跟多個(gè)參數(shù)時(shí)會(huì)逐一判斷每個(gè)參數(shù),并返回第一個(gè)非空的參數(shù)。如果都為 false,則返回最后一個(gè)參數(shù)。
- 除了 null(空)和 false 被識(shí)別為 false,其它值(字符串、數(shù)字、對(duì)象等)均被識(shí)別為 true。

示例:

docker inspect --format '{{or .State.Status .State.Restarting}}' $INSTANCE_ID

判斷條件

判斷語(yǔ)句通常需要結(jié)合判斷條件一起使用,使用格式基本相同:

{{if 判斷條件 .Var1 .Var2}}{{end}}

go模板支持如下判斷方式:
1) eq: 相等,即 arg1 == arg2。比較特殊的是,它支持多個(gè)參數(shù)進(jìn)行與比較,此時(shí),它會(huì)將第一個(gè)參數(shù)和其余參數(shù)依次比較,返回下式的結(jié)果:

{{if eq true .Var1 .Var2 .Var3}}{{end}}
# 效果等同于:
arg1==arg2 || arg1==arg3 || arg1==arg4 ...

2) ne: 不等,即 arg1 != arg2。
3) lt: 小于,即 arg1 < arg2。
4) le: 小于等于,即 arg1 <= arg2。
5) gt: 大于,即 arg1 > arg2。
6) ge: 大于等于,即 arg1 >= arg2。

判斷的使用

格式:

{{if pipeline}}{{end}}
{{if pipeline}}{{else}}{{if pipeline}}{{end}}{{end}}
{{if pipeline}}{{else if pipeline}}{{else}}{{end}}

示例:

# 輸出所有已停止的容器名稱(chēng):
docker inspect --format '{{if ne 0.0 .State.ExitCode}}{{.Name}}{{end}}' $(docker ps -aq)
docker inspect --format '{{if ne 0.0 .State.ExitCode}}{{.Name}}{{else}}該容器還在運(yùn)行{{end}}' $(docker ps -aq)
docker inspect --format '{{if ne 0.0 .State.ExitCode}}{{.Name}}{{else if .}}該容器還在運(yùn)行{{end}}' $(docker ps -aq)
 
# 輸出所有已停止或配置了 Restarting 策略的容器名稱(chēng)
docker inspect --format '{{if ne 0.0 .State.ExitCode}}{{.Name}}{{else if eq .State.Restarting true}}容器{{.Name}}配置了Restarting策略.{{else}}{{end}}' $(docker ps -aq)

打印信息

docker --format 默認(rèn)調(diào)用 go語(yǔ)言的 print 函數(shù)對(duì)模板中的字符串進(jìn)行輸出。而 go語(yǔ)言還有另外 2 種相似的內(nèi)置函數(shù),對(duì)比說(shuō)明如下:
print: 將傳入的對(duì)象轉(zhuǎn)換為字符串并寫(xiě)入到標(biāo)準(zhǔn)輸出中。如果后跟多個(gè)參數(shù),輸出結(jié)果之間會(huì)自動(dòng)填充空格進(jìn)行分隔。
println: 功能和 print 類(lèi)似,但會(huì)在結(jié)尾添加一個(gè)換行符。也可以直接使用 {{println}} 來(lái)?yè)Q行。
printf: 與 shell 等環(huán)境一致,可配合占位符用于格式化輸出。

對(duì)比示例輸出:

docker inspect --format '{{.State.Pid}}{{.State.ExitCode}}' $INSTANCE_ID
240390
 
docker inspect --format '{{print .State.Pid .State.ExitCode}}' $INSTANCE_ID
24039 0
 
docker inspect --format '{{.State.Pid}}{{println " 從這換行"}}{{.State.ExitCode}}' $INSTANCE_ID
24039 從這換行
0
 
docker inspect --format '{{printf "Pid:%d ExitCode:%d" .State.Pid .State.ExitCode}}' $INSTANCE_ID
Pid:24039 ExitCode:0

管道

管道 即 pipeline ,與 shell 中類(lèi)似,可以是上下文的變量輸出,也可以是函數(shù)通過(guò)管道傳遞的返回值。
示例:

{{.Con | markdown | addlinks}}
{{.Name | printf "%s"}}

內(nèi)置函數(shù) len

內(nèi)置函數(shù) len 返回相應(yīng)對(duì)象的長(zhǎng)度。
示例:

docker inspect --format '{{len .Name}}' $INSTANCE_ID

Docker 增強(qiáng)模板及函數(shù)

Docker 基于 go模板的基礎(chǔ)上,構(gòu)建了一些內(nèi)置函數(shù)。

json

Docker 默認(rèn)以字符串顯示返回結(jié)果。而該函數(shù)可以將結(jié)果格式化為壓縮后的 json 格式數(shù)據(jù)。
示例:

# 獲取 Config 字段對(duì)應(yīng)的 json 數(shù)據(jù)
docker inspect --format='{{json .Config}}' $INSTANCE_ID

join

用指定的字符串將返回結(jié)果連接后一起展示。操作對(duì)象必須是字符串?dāng)?shù)組。
示例:

# 輸出容器配置的所有 Entrypoint 參數(shù),以 " , " 分隔:
docker inspect --format '{{join .Config.Entrypoint " , "}}' $INSTANCE_ID

lower

將返回結(jié)果中的字母全部轉(zhuǎn)換為小寫(xiě)。操作對(duì)象必須是字符串。

docker inspect --format "{{lower .Name}}" $INSTANCE_ID

upper

將返回結(jié)果中的字母全部轉(zhuǎn)換為大寫(xiě)。操作對(duì)象必須是字符串。

docker inspect --format "{{upper .Name}}" $INSTANCE_ID

title

將返回結(jié)果的首字母轉(zhuǎn)換為大寫(xiě)。操作對(duì)象必須是字符串,而且不能是純數(shù)字。

docker inspect --format "{{title .State.Status}}" $INSTANCE_ID

split

使用指定分隔符將返回結(jié)果拆分為字符串列表。操作對(duì)象必須是字符串且不能是純數(shù)字。同時(shí),字符串中必須包含相應(yīng)的分隔符,否則會(huì)直接忽略操作。

docker inspect --format '{{split .HostsPath "/"}}' $INSTANCE_ID

============================常用docker inspect --format 輸出示例========================

[root@node1 ~]# docker ps
CONTAINER ID        IMAGE                            COMMAND                  CREATED             STATUS              PORTS               NAMES
2ed603e52896        172.16.60.214:5000/kevin_nginx   "/bin/sh -c '/usr/..."   13 minutes ago      Up 13 minutes                           docker-test111
24e6607534f1        172.16.60.214:5000/kevin_nginx   "/bin/sh -c '/usr/..."   13 minutes ago      Up 13 minutes                           docker-test11
19be6b264b6e        172.16.60.214:5000/kevin_nginx   "/bin/sh -c '/usr/..."   13 minutes ago      Up 13 minutes                           docker-test1
  
1) 獲取容器的IP (后面使用容器名或容器ID都可以)
[root@node1 ~]# docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -q)
192.10.160.193
173.20.19.128
17.16.10.128
  
[root@node1 ~]# docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' docker-test1
17.16.10.128
  
2) 獲取容器的MAC地址
[root@node1 ~]# docker inspect --format='{{range .NetworkSettings.Networks}}{{.MacAddress}}{{end}}' $(docker ps -a -q)
ee:ee:ee:ee:ee:ee
ee:ee:ee:ee:ee:ee
ee:ee:ee:ee:ee:ee
  
[root@node1 ~]# docker inspect --format='{{range .NetworkSettings.Networks}}{{.MacAddress}}{{end}}' docker-test1
ee:ee:ee:ee:ee:ee
  
3) 獲取容器Name
[root@node1 ~]# docker inspect --format='{{.Name}}' $(docker ps -aq)
/docker-test111
/docker-test11
/docker-test1
/calico-node
  
[root@node1 ~]# docker inspect --format='{{.Name}}' $(docker ps -aq)|cut -d"/" -f2
docker-test111
docker-test11
docker-test1
  
[root@node1 ~]# docker inspect --format='{{.Name}}' docker-test1
/docker-test1
  
[root@node1 ~]# docker inspect --format='{{.Name}}' docker-test1|cut -d"/" -f2
docker-test1
  
4) 獲取容器Hostname
[root@node1 ~]# docker inspect --format '{{ .Config.Hostname }}' $(docker ps -q)
2ed603e52896
24e6607534f1
19be6b264b6e
  
[root@node1 ~]# docker inspect --format '{{ .Config.Hostname }}' docker-test1
19be6b264b6e
  
5) Hostname Name IP
[root@node1 ~]# docker inspect --format 'Hostname:{{ .Config.Hostname }}  Name:{{.Name}} IP:{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -q)
Hostname:2ed603e52896  Name:/docker-test111 IP:192.10.160.193
Hostname:24e6607534f1  Name:/docker-test11 IP:173.20.19.128
Hostname:19be6b264b6e  Name:/docker-test1 IP:17.16.10.128
  
[root@node1 ~]# docker inspect --format 'Hostname:{{ .Config.Hostname }}  Name:{{.Name}} IP:{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' docker-test1
Hostname:19be6b264b6e  Name:/docker-test1 IP:17.16.10.128
  
6) 獲取容器的log path
[root@node1 ~]# docker inspect --format='{{.LogPath}}' `docker ps -a -q`
[root@node1 ~]# docker inspect --format='{{.LogPath}}' docker-test1
  
7) 獲取容器的image鏡像名稱(chēng)
[root@node1 ~]# docker inspect --format='{{.Config.Image}}' `docker ps -a -q`
172.16.60.214:5000/kevin_nginx
172.16.60.214:5000/kevin_nginx
172.16.60.214:5000/kevin_nginx
quay.io/calico/node:v2.6.10
[root@node1 ~]# docker inspect --format='{{.Config.Image}}' docker-test1
172.16.60.214:5000/kevin_nginx
  
8) 獲取容器綁定的端口(port bindings)
[root@node1 ~]# docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' `docker ps -a -q`
[root@node1 ~]# docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' docker-test1
 
9) 獲取service實(shí)例的Ip
[root@swarm-manager-node ~]# docker service ps my-test 
ID                    NAME       IMAGE                                                   NODE                         DESIRED   STATE  CURRENT STATE    ERROR  PORTS
t71gqufekv2o  my-test.1  172.16.60.214:5000/kevin_nginx:latest  swarm-node2              Running    Running 16 seconds ago        
9cuq2yf10d60 my-test.2  172.16.60.214:5000/kevin_nginx:latest  swarm-manager-node  Running   Running 16 seconds ago        
srt2yo817kpv  my-test.3  172.16.60.214:5000/kevin_nginx:latest  swarm-node1               Running    Running 16 seconds ago  
 
[root@swarm-manager-node ~]# docker inspect ` docker service ps my-test -q` --format '{{range .NetworksAttachments}}{{.Addresses}}{{end}}' | cut -d '[' -f2|cut -d ']' -f1
10.255.0.7/16
10.255.0.8/16
10.255.0.9/16
 
10) 獲取service示例的container ID  (獲取的是ID的全稱(chēng),一般只要取ID前面12個(gè)字符就可以了)
[root@swarm-manager-node ~]# docker inspect ` docker service ps my-test -q` --format '{{ .Status.ContainerStatus.ContainerID }}'
c6c18a74a465163757fe928fec9e633223200f92d1c59e5d2d77eabfaa5ae93a
5f558bb014ea3d3eef5c8d4bd70e2e3048d7fc6725538303be960ac658d93b32
dde578bf60190a63ed5c8c4a9f5a3044566a159e8debe8717342e263c6199f26

*************** 當(dāng)你發(fā)現(xiàn)自己的才華撐不起野心時(shí),就請(qǐng)安靜下來(lái)學(xué)習(xí)吧!***************

到此這篇關(guān)于Docker格式化輸出命令:"docker inspect --format" 學(xué)習(xí)筆記的文章就介紹到這了,更多相關(guān)docker inspect format命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker+Jenkins+Gitee自動(dòng)化部署maven項(xiàng)目的實(shí)現(xiàn)

    Docker+Jenkins+Gitee自動(dòng)化部署maven項(xiàng)目的實(shí)現(xiàn)

    本文主要介紹了Docker+Jenkins+Gitee自動(dòng)化部署maven項(xiàng)目的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Docker下部署lnmp詳細(xì)步驟

    Docker下部署lnmp詳細(xì)步驟

    大家好,本篇文章主要講的是Docker下部署lnmp詳細(xì)步驟,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 如何使用docker配置wordpress

    如何使用docker配置wordpress

    本文詳細(xì)介紹了如何使用Docker安裝并配置WordPress,包括配置Yum源下載Docker,檢查安裝成功,并設(shè)置開(kāi)機(jī)啟動(dòng),還涉及了如何配置MySQL密碼,以及設(shè)置php.ini來(lái)增加WordPress的文件上傳大小限制,最后,通過(guò)訪問(wèn)指定IP完成WordPress的配置
    2024-10-10
  • docker search命令的具體使用

    docker search命令的具體使用

    本文主要介紹了docker search命令的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Docker 限制容器對(duì)內(nèi)存的使用詳解

    Docker 限制容器對(duì)內(nèi)存的使用詳解

    這篇文章主要介紹了Docker 限制容器對(duì)內(nèi)存的使用詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • docker-compose部署etcd集群的實(shí)現(xiàn)步驟

    docker-compose部署etcd集群的實(shí)現(xiàn)步驟

    本文主要介紹了docker-compose部署etcd集群的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Docker-compose安裝的全過(guò)程

    Docker-compose安裝的全過(guò)程

    這篇文章主要介紹了Docker-compose安裝的全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Docker使用Dockerfile來(lái)創(chuàng)建鏡像

    Docker使用Dockerfile來(lái)創(chuàng)建鏡像

    本篇文章主要介紹了Docker使用Dockerfile來(lái)創(chuàng)建鏡像,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • docker部署confluence的完整步驟

    docker部署confluence的完整步驟

    這篇文章主要介紹了docker部署confluence的完整步驟,這里的鏡像并不是小編自己寫(xiě)的是基于他人打包的文中有詳細(xì)介紹,需要的朋友可以參考下
    2021-06-06
  • Docker創(chuàng)建容器時(shí)目錄權(quán)限踩坑

    Docker創(chuàng)建容器時(shí)目錄權(quán)限踩坑

    這篇文章主要介紹了Docker創(chuàng)建容器時(shí)目錄權(quán)限踩坑,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03

最新評(píng)論